docker-compose 介绍

2020/11/06

docker-compose

官方例子体验

根据 官方文档,创建一个简单的示例,该程序用到了 python,redis,访问url 之后每次加1

地址: https://docs.docker.com/compose/gettingstarted/

python 应用,计数器,redis

  1. 应用 app.py
  2. Dockerfile 应用打包成镜像
  3. Dcker-compose.yml 文件(定义整个服务需要的环境,web,reids)
  4. 启动 compose项目,(docker-compose up -d )

启动的流程:

  1. 创建网络
  2. 执行 docker-compose.yml
  3. 启动服务

体验操作流程

  1. 首先在 home 目录下创建一个文件夹 mkdir composetest
  2. 新建一个 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.\n'.format(count)
       
    if __name__ ==  "__main__":
       app.run(host="0.0.0.0",debug=True)
    
  3. 新建一个 requirements.txt 文件 flask redis

    1. 新建一个 Dockerfile 文件用来构建应用

      ````shell FROM python:3.6-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” volumes: - .:/code redis: image: “redis:alpine”

  5. 启动 # 在 composetest文件夹下执行命令 # -d 为后台启动 docker-compose up -d
  6. 查看启动结果,如下说明启动成功,访问试试

实战

目标:使用springboot 创建一个小例子,能够访问 redis

步骤:

	1. 编写微服务项目
  1. Dockerfile 编写
  2. docker-compose.yml 编排项目
  3. 放到服务器上执行 ,docker-compose up


<扫码关注有惊喜>

(转载本站文章请注明作者和出处 枕风宿雪-couldme

Show Disqus Comments

快捷导航