Docker compose (以下简称为 compose)可用于定义和运行多容器 docker 应用程序。
通过 compose,我们可以使用 YAML 文件来配置应用程序的服务(services),然后只需要通过一个命令,就可以将配置的所有服务启动起来。
使用 compose 只需要三步:
- 使用
Dockerfile
定义应用的环境,以便于可以任何地方复制应用的环境 - 使用
docker-compose.yml
定义构成应用的服务,以便于它们可以在隔离的环境中一起运行 - 运行
docker-compose up
命令,这时 compose 会启动并运行整个应用程序
安装
对于 Mac 系统 和 Windows 系统,安装 docker 桌面端时, compose 已经捆绑安装了。对于 Linux 系统安装 compose 也不麻烦,可以参考官方安装文档 https://docs.docker.com/compose/install/。
可以通过以下命令来测试 compose 安装是否成功:
docker-compose --version
输出:
docker-compose version 1.24.1, build 4667896b
实践:以 Flask 应用为例
我们以一个 Flask 应用程序为例,说明如何使用 compose 来配置相关的服务。
步骤一:编写源代码
- 创建源代码目录
composetest
mkdir composetest
cd composetest
- 创建 Flask 应用
创建 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<