zoukankan      html  css  js  c++  java
  • 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下面

  • 相关阅读:
    tomcat修改端口
    JSP_大并发_秒杀
    Nexus刷官方下载的映像_occam
    Nexus杂
    多项式ADT加法乘法——数组实现
    单链表——游标实现
    链表基本操作实现
    二叉查找树
    AVL树
    ORM框架疏理——廖雪峰实战系列(一)
  • 原文地址:https://www.cnblogs.com/cyq632694540/p/10682654.html
Copyright © 2011-2022 走看看