Docker学习笔记20

这篇具有很好参考价值的文章主要介绍了Docker学习笔记20。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

案例2:创建一个python的web应用,使用Flask,将访问次数记在redis中,通过web首页显示访问次数。

第一步:创建一个工程目录:

mkdir pythondir
cd pythondir

第二步:创建一个web应用:

[root@node1 pythondir]# cat app.py
from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host='redis', port=6379)

@app.route('/')
def hello():
        redis.incr('hits')
        return 'Hello world! I have been see %s times.' % redis.get('hits')

if __name__ == "__main__":
        app.run(host="0.0.0.0", debug=True)
[root@node1 pythondir]# cat requirements.txt
flask
redis

在容器镜像中安装flask和redis应用,需求软件的安装列表。软件需求列表。

在一些应用软件中都有requirements.txt文件。

如果没有安装flask和redis,我们是不能import导入模块。

flask和redis是需要安装到容器镜像中的。

第三步:创建一个Dockerfile文件,创建容器镜像:

[root@node1 pythondir]# cat Dockerfile
FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python app.py

说明:这个不需要基础镜像,直接python环境就可以。

第四步:创建docker-compose.yaml文件:

[root@node1 pythondir]# cat docker-compose.yaml
version: '2'
services:
  web:
    build: .
    ports:
    - "5000:5000"
    volumes:
    - .:/code
    depends_on:
    - redis
  redis:
    image: redis:latest

说明:

1)version2版本支持空格,version3版本支持tab键。tab键四个空格。

2)web依赖redis,也就是depends_on,先启动redis,然后再启动web。

第五步:运行:

docker-compose up
[root@node1 pythondir]# docker-compose up
Creating network "pythondir_default" with the default driver
Creating pythondir_redis_1 ... done
Creating pythondir_web_1   ... done
Attaching to pythondir_redis_1, pythondir_web_1
redis_1  | 1:C 06 Jul 2023 10:56:02.498 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis_1  | 1:C 06 Jul 2023 10:56:02.498 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
redis_1  | 1:C 06 Jul 2023 10:56:02.498 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis_1  | 1:M 06 Jul 2023 10:56:02.499 * monotonic clock: POSIX clock_gettime
redis_1  | 1:M 06 Jul 2023 10:56:02.500 * Running mode=standalone, port=6379.
redis_1  | 1:M 06 Jul 2023 10:56:02.500 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
redis_1  | 1:M 06 Jul 2023 10:56:02.500 # Server initialized
redis_1  | 1:M 06 Jul 2023 10:56:02.500 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis_1  | 1:M 06 Jul 2023 10:56:02.500 * Ready to accept connections
web_1    |  * Serving Flask app "app" (lazy loading)
web_1    |  * Environment: production
web_1    |    WARNING: This is a development server. Do not use it in a production deployment.
web_1    |    Use a production WSGI server instead.
web_1    |  * Debug mode: on
web_1    |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
web_1    |  * Restarting with stat
web_1    |  * Debugger is active!
web_1    |  * Debugger PIN: 982-279-484
web_1    | 192.168.17.1 - - [06/Jul/2023 10:56:08] "GET / HTTP/1.1" 200 -
web_1    | 192.168.17.1 - - [06/Jul/2023 10:56:08] "GET /favicon.ico HTTP/1.1" 404 -
web_1    | 192.168.17.1 - - [06/Jul/2023 10:56:11] "GET / HTTP/1.1" 200 -
web_1    | 192.168.17.1 - - [06/Jul/2023 10:56:12] "GET / HTTP/1.1" 200 -
web_1    | 192.168.17.1 - - [06/Jul/2023 10:56:13] "GET / HTTP/1.1" 200 -

从输出信息中,我们可以看到我通过浏览器进行了页面访问。

[root@node1 pythondir]# docker-compose up -d
Creating network "pythondir_default" with the default driver
Creating pythondir_redis_1 ... done
Creating pythondir_web_1   ... done
[root@node1 pythondir]#

 

第六步:访问:

在笔记本电脑上的浏览器进行访问:

可以看到访问次数发生了变化。文章来源地址https://www.toymoban.com/news/detail-525147.html

到了这里,关于Docker学习笔记20的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus

    监控,这一个词对于我们开发人员已经习以为常,我们通过对于内存、IO、CPU等性能的监控去判断当前运行状态的情况,容器作为一个已经打包好的虚拟环境亦是如此,特别是多个容器运行,需要收集docker各容器的运行状态和运行信息,本章将进行容器监控,第三方容器监控

    2024年02月06日
    浏览(58)
  • Crontab定时任务运行Docker容器(Ubuntu 20)

    对于一些离线预测任务,或者D+1天的预测任务,可以简单地采用Crontab做定时调用项目代码运行项目 Crontab简介: Linux crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取

    2024年02月11日
    浏览(39)
  • 深度linux社区版 20.8 安装 nvidia-docker,启动Stable Diffusion WebUI docker 容器

    以下为失败的记录,成功方法直接跳到末尾。  说明: 深度apt 源中无法直接安装nvidia-docker  github地址: GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs 下载最新release https://github.com/NVIDIA/nvidia-docker/archive/refs/tags/v2.13.0.tar.gz 使用国内源 新建文件:ubuntu20.04

    2024年02月16日
    浏览(45)
  • 【docker笔记】Docker容器数据卷

    卷就是目录或者文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性 卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此docker不会在容器删除是删除其挂载的数据卷

    2024年02月02日
    浏览(43)
  • Ubuntu20.04+Docker+ROS Noetic 可视化容器管理工具Portainer

    官网教学安装网址:Install Docker Engine on Ubuntu | Docker Documentation ros镜像网址 https://hub.docker.com/r/osrf/ros https://hub.docker.com/r/osrf/ros/tags 3.1 宿主机开启xhost,使得docker里面可视化界面(vscode rviz)  注意:每次重启容器,主机都得执行一遍,否则容器内可视化报错。 3.2 创建宿主机数

    2024年02月12日
    浏览(79)
  • docker笔记9:Docker-compose容器编排

    目录 1.是什么? 2. 能干嘛? 3.去哪下? 4.安装步骤  ​编辑 5.卸载步骤   6.Compose核心概念  6.1概念 6.2 Compose常用命令   7.Compose编排微服务 7.1改造升级微服务工程docker_boot 7.2不用Compose 7.2.1 单独的mysql容器实例 7.3 swagger测试 7.4上面成功了,有哪些问题? 7.5 使用Compose  7.5.1

    2024年02月09日
    浏览(49)
  • 尚硅谷Docker实战教程-笔记06【Docker容器数据卷】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】 尚硅谷Docker实战教程-笔记02【安装docker、镜像加速器配置

    2024年02月16日
    浏览(49)
  • ubuntu20.04中安装配置docker nvidia容器来实现宿主机GPU的调用

    在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。 (这里指推荐使用官方的安装方法,snap的方法不推荐,各种命令不是很通用) 1、首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源: 2、使用下面的

    2024年03月16日
    浏览(67)
  • Docker笔记--Ubuntu20.04安装Nvidia-Docker

    目录 1--添加软件包存储库 2--安装Nvidia-Docker2 3--测试         安装 nvidia-docker2 软件包并重新加载 docker 守护程序配置:         执行 sudo apt-get install -y nvidia-docker2,可能会出现以下错误:E: Unable to locate package nvidia-docker2,解决方法是完整执行完第 1 步;         重启

    2024年02月16日
    浏览(40)
  • Docker笔记 容器的数据卷

    大家好 我是积极向上的湘锅锅💪💪💪 思考: Docker容器删除后,在容器中产生的数据还在吗? 答案是不在了,数据存放在容器中,如果将容器删除,数据也会被一并删除 Docker容器和外部机器可以直接交换文件吗? 答案是不行,因为外部机器与docker内部之间是不互通的,但

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包