• docker-compose使用


    1.创建app.py项目文件,执行以下代码

    import time
    
    import redis
    from flask import Flask
    
    
    app = Flask(__name__)
    cache = redis.Redis(host='redis', port=6379)
    
    
    def get_hit_count():
        retries = 5
        while True:
            try:
                return cache.incr('hits')
            except redis.exceptions.ConnectionError as exc:
                if retries == 0:
                    raise exc
                retries -= 1
                time.sleep(0.5)
    
    
    @app.route('/')
    def hello():
        count = get_hit_count()
        return 'Hello World! I have been seen {} times.
    '.format(count)
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", debug=True)

    2.创建文件 requirements.txt 安装python的依赖项

    flask
    redis



    3.创建一个 Dockerfile 文件,写入
      

    FROM python:3.4-alpine
    ADD . /code
    WORKDIR /code
    RUN pip install -r requirements.txt
    CMD ["python", "app.py"]

    4.创建一个 docker-compose.yml 文件,写入

    version: '3'
    services:
      web:
        build: .
        ports:
         - "5000:5000"
      redis:
        image: "redis:alpine"

    // 这边docker-compose 定义了两个服务

    web ->  从 Dockerfile文件构建docker镜像
            -> 指定端口映射 5000(宿主) : 5000(容器)

    redis -> 从Docker hub获取指定的redis镜像

    5. 运行docker-compose up 构建并运行你的应用程序  

    运行成功后,在宿主(就是物理机) 输入localhost:5000 访问容器的web项目

    //docker-compose up -d 是守护模式运行

    //docker-compose down 关闭服务

    6. 修改 docker-compose.yml

    version: '3'
    services:
    web:
    build: .
    ports:
    - "8888:5000"
    volumes:
    - .:/code
    redis:
    image: "redis:alpine"

    新增volumes

    指定 - .:/code

    将当前目录 映射到 容器中的/code下面

  • 相关阅读:
    linux-kernel邮件列表订阅出错,提示命令不能识别---解决方案
    MD5(单向散列算法)原理分析
    win32汇编跳转指令用法
    (转载)c/c++优先级列表
    linux man手册各个章节的意义
    如何解决dpkg: error processing install-info
    python魔法函数(常见)
    redis 哈希封装
    数据库去重
    抖音破解字体加密
  • 原文地址:https://www.cnblogs.com/cyq632694540/p/10682654.html
Copyright © 2020-2023  润新知