官方文档
(https://docs.docker.com/compose/)
基本介绍
Docker’s documentation refers to and describes Compose V2 functionality. Effective July 2023, Compose V1 stopped receiving updates and is no longer in new Docker Desktop releases. Compose V2 has replaced it and is now integrated into all current Docker Desktop versions. For more information, see Migrate to Compose V2.
Docker 文档提到并描述了 Compose V2 功能。 从 2023 年 7 月起,Compose V1 不再接受更新,也不再出现在新发布的 Docker Desktop 中。Compose V2 已取而代之,现在已集成到所有当前的 Docker Desktop 版本中。有关更多信息,请参阅迁移到 Compose V2。
V1 是 Python 语言版本也叫Compose standalone
,V2 是官方团队使用 Go 语言重构的版本也叫Compose plugin
。因为官方自 2023 年 7 月开始不维护 V1 版本,所以这里只介绍 V2 版本。当然如果只按装了 V1 版本的,也可以尝试使用,使用方式区别如下:
|
|
安装
一切以官方安装教程为准,其次可以参考百度。离线安装可以参考站内另一片文章离线环境下安装 Docker Compose V2。
验证安装是否成功
|
|
使用
Docker Compose 默认寻找以下文件来定义服务和容器的配置
-
docker-compose.yml: 默认的配置文件名。如果存在此文件,则 docker-compose 命令将默认使用它。
-
docker-compose.override.yml: 用于覆盖默认配置的文件。此文件中的配置将覆盖 docker-compose.yml 中的相应配置。
-
docker-compose.${环境名称}.yml: 根据环境名称提供额外配置的文件。例如,如果你的环境名称是 production,则 docker-compose.production.yml 文件中的配置将与 docker-compose.yml 中的配置合并。
这种配置文件的组织方式允许你在不同环境中共享通用配置,同时为每个环境提供特定的配置。
你可以使用 -f 或 –file 选项指定不同的文件名,例如:
|
|
此命令将使用 docker-compose.yml 和 docker-compose.prod.yml 中的配置。你还可以指定多个文件:
|
|
这将合并两个文件中的配置。在使用多个文件时,后面的文件将覆盖前面的文件中的配置。
常用命令(要在配置文件所处的文件夹运行)
|
|
从docker run
命令迁移至Compose
docker run
原始命令有留档的情况下- 将命令给
ChatGPT
转换 - 根据示例手动填写
- 将命令给
- 没有留档的情况下,使用
docker insepect xxx
,xxx
为容器 id- 将命令给
ChatGPT
转换 - 根据示例手动填写
- 将命令给
参考配置文件docker-compose.yml
及特殊特性
|
|
CONTAINER_PORT
、HOST_PORT
|
|
部署心得
|
|
将docker-compose.yml
放置到部署目录的最外层,配置文件中的挂载路径以相对路径的形式,方便后期迁移。
|
|