1、简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose 使用的三个步骤:
- 使用 Dockerfile 定义应用程序的环境。
- 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
- 最后,执行 docker-compose up 命令来启动并运行整个应用程序。
2、compose安装
(1)下载安装包
在可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases
(2)使用命令下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
(3)给compose赋权限
sudo chmod +x /usr/local/bin/docker-compose
注:如果是采用离线下载,则应该先将docker-compose-Linux-x86_64命名为docker-compose,命令如下:
mv docker-compose-Linux-x86_64 docker-compose
(4)创建软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
(5)查看是否安装成功
docker-compose --version
3、docker-compose一般用法
(1)编写源代码
(2)创建Dockerfile文件
(3)创建docker-compose.yml
例:
# yaml 配置
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
该 Compose 文件定义了两个服务:web 和 redis。
- web:该 web 服务使用从 Dockerfile 当前目录中构建的镜像。然后,它将容器和主机绑定到暴露的端口 5000。此示例服务使用 Flask Web 服务器的默认端口 5000 。
- redis:该 redis 服务使用 Docker Hub 的公共 Redis 映像。
(4)使用 Compose 命令构建和运行您的应用
docker-compose up // 启动应用程序
docker-compose up -d // 在后台启动应用程序
4、yml配置指令
version
指定本 yml 依从的 compose 哪个版本制定的。
build
指定为构建镜像上下文路径:
例如 webapp 服务,指定为从上下文路径 ./dir/Dockerfile 所构建的镜像