Docker Compose是一种用于通过使用单个命令创建和启动Docker应用程序的工具。我们可以使用它来配置应用程序的服务。
它是开发,测试和升级环境的好工具。
它提供以下命令来管理应用程序的整个生命周期。
要实现compose,需要包括以下步骤。
docker-compose.yml
文件中提供和配置服务名称,以便它们可以在隔离的环境中一起运行。docker-compose
,Compose
将启动并运行整个应用程序。一个典型的docker-compose.yml
文件具有以下格式和参数。
version: '3' services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {}
以下是在Ubuntu系统中安装Docker Compose的说明。
curl -L http://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
查看Docker-compose版本
$ docker-compose --version
提示说执行被拒绝。 所以要给文件添加执行权限。
$ sudo chmod +x /usr/local/bin/docker-compose
再次查看Docker-compose版本 -
$ docker-compose ?version
在这一小节,我们将能过一个示例,演示如何使用Docker Compose来运行应用程序。请参阅以下几个步骤 -
$ mkdir -p /home/zyiz/docker/docker-compose-example $ cd /home/zyiz/docker/docker-composer-example
app.py
,代码内容如下 - from flask import Flask from redis import Redis app = Flask(__name__) redis = Redis(host='redis', port=6379) @app.route('/') def hello(): count = redis.incr('hits') return 'Hello World! I have been seen {} times.\n'.format(count) if __name__ == "__main__": app.run(host="0.0.0.0", debug=True)
requirements.txt
,其内容如下 -flask redis
FROM python:3.4-alpine ADD . /code WORKDIR /code RUN pip install -r requirements.txt CMD ["python", "app.py"]
docker-compose.yml
version: '2' services: web: build: . ports: - "5000:5000" volumes: - .:/code redis: image: "redis:alpine"
$ docker-compose up
运行上述命令后,可以看到如下输出。
现在,我们可以通过运行http url
来查看输出。
输出:
每次刷新页面时。 它显示计数器递增1
。