查看【Docker & Kubernetes】专题可浏览更多内容
Docker Compose 是一个帮助运行多容器应用程序的工具。
例如说有一些工作是需要多个容器互相配合来完成的,就可以使用 Docker Compose,并且容器的相关参数都可以写在配置文件里,如此也方便管理
以下是 Docker Compose 的一些主要优势:
- 通过提供隔离的项目名称,简化了对多个环境的管理;
- 通过自动将以前的容器运行数据复制到新的环境中,防止数据丢失;
- 通过只更新自上次运行以来发生变化的容器,加快了创建时间;
- 使用定义的环境变量在不同的环境中轻松移植应用程序;
安装
如果你是 Docker Desktop 用户则已经带有 Docker Compose 不需要额外安装
如果你是 Linux Server 用户并已经安装了 Docker Engine 和 Docker CLI 则可以使用包管理器安装 Docker Compose,例如:
# Debian 谱系
sudo apt update
sudo apt install docker-compose-plugin
# Red Hat 谱系
sudo yum update
sudo yum install docker-compose-plugin
也可以手动安装:
sudo curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
不要直接使用以上链接,而是前往 https://github.com/docker/compose/releases/ 找到你系统对应的系统架构,如上就是 2.16.0 的 x64 架构,将之替换使用
# 赋予运行权限
sudo chmod +x /usr/local/bin/docker-compose
注意,使用包管理器安装和手动安装所使用的命令不同:
# 使用包管理器安装
docker compose version
# 使用手动安装
docker-compose version
如果看到返回 Docker Compose version v2.16.0
则表示 Docker Compose 安装成功
使用
Compose 使用 YAML 文件来配置服务,你需要一个编辑器并且能够验证 YAML 格式,如果你没有趁手的编辑器,此处推荐 VSCode 并安装插件 Docker
Compose 的使用与 Dockerfile 类似,编写好配置文件然后使用命令运行,一个基本的 Compose 文件如下:
version: "2"
services: # 容器
servicename: # 服务名称
image: # 映像
command: # 可选,如果设置,则会覆盖默认镜像里的 CMD
environment: # 可选,相当于 docker run --env
volumes: # 可选,相当于docker run -v
networks: # 可选,相当于 docker run --network
ports: # 可选,相当于 docker run -p
servicename2:
volumes: # 可选,相当于 docker volume create
networks: # 可选,相当于 docker network create
然后使用 docker compose
或 docker-compose
配合 up
等命令选项使用
未完待续…