版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011254180/article/details/82344274
1. 什么是Docker Compose?
编排和配置容器集群的工具。
编排:定义被部署的对象的各组成部分之间的耦合关系,部署流程中各个动作的执行顺序,部署过程所需要的依赖文件和被部署文件的存储位置和获取方式,以及如何验证部署成功。这些信息都会在编排工具中以指定的格式定义并保存下来,从而保证这个流程可以在新的环境中快速的复现。
2. Docker Compose安装
下载docker-compose 二进制文件。
curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
如果下载速度较慢,可以到该地址下载。
3. Docker Compose使用入门
1)创建测试项目文件夹
mkdir composetest
cd composetest
2)编辑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 seen %s times.' % redis.get('hits')
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
3)在项目目录创建requirements.txt并保存(vi requirements.txt)
flask
redis
4)利用dockerfile创建docker镜像(vi dockerfile)
FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python app.py
5)创建镜像web
docker build -t web .
6)定义服务
创建docker-compose.yml文件,Compose文件定义了2个服务,web和redis。
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: redis
Web服务:
a)从当前目录下的dockerfile创建
b)容器的5000端口与宿主机5000端口绑定
c)将项目目录与容器内的/code目录绑定
d)web服务与redis服务建立连接
7)通过compose运行app服务
docker-compose up
docker-compose up –d # 后台启动
docker-compose stop # 停止运行)
Compose命令集。