Docker Compose
https://vuepress.mirror.docker-practice.com/compose/
https://docs.docker.com/compose/install/
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。
定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)
Compose 中有两个重要的概念:
- 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
- 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
安装:https://vuepress.mirror.docker-practice.com/compose/install/
命令
sh
# 查看版本
docker compose -vsh
docker compose down
# 停止并删除容器,网络,卷和镜像
docker compose down -v
# 启动服务
# -d 让其可以在后台运行
docker compose up -d
# 查看启动的详细日志
docker compose --verbose up-f, --file 指定 Compose 模板文件,有时候很好用,如:
sh
docker-compose -f /opt/nginx/docker-compose.yml restart-p, --project-name 指定项目名称,默认为当前目录名称
sh
# 验证配置文件是否正确
docker compose configdocker compose build 只构建镜像,不启动。docker compose up 构建镜像并启动容器。
字段说明
简写
yml
volumes:
db_data:
# 等同于
volumes:
db_data:
driver: localyml
networks:
db_network:
networks:
db_network:
driver: bridge全局
都需要自己提前创建
sh
docker volume create db_data
docker network create shared_net然后使用 external
yml
volumes:
db_data:
external: true
networks:
shared_net:
external: trueservices env_file
将某个 文件 注入
yml
services:
web:
image: nginx
env_file:
- .envservices depends_on
表示依赖于其他服务,启动时会先启动依赖的服务。