HOME

Docker Compose V2命令行选项

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。自 Docker 1.13 版本起,Docker Compose 引入了 V2 版本来支持更为复杂的服务编排,并且提供了更多的命令行选项。这些选项使得用户可以更好地定制化他们的部署过程。

基础使用

docker compose up

启动服务定义的容器并使其进入运行状态。

docker compose down

停止并拆卸由 Compose 配置文件定义的所有服务。

环境变量配置

使用 --env-file--env-file-extras 来加载环境变量文件。

--env-file

读取一个或多个 .env 文件,将其内容添加到环境变量中。

docker compose --env-file .env.production up

--env-file-extras

读取额外的 .env 文件,并覆盖之前文件中的环境变量设置。

docker compose --env-file .env.default --env-file-extras .env.local up

配置文件

通过 -p 参数为项目指定一个自定义名称。

--project-name

设置 Compose 所引用的项目名称,默认值是当前目录名。

docker compose --project-name myapp up

构建与缓存

控制构建过程,以优化构建时间并确保服务容器的一致性。

-b--build

仅构建未更新的服务镜像。

docker compose -b up

--cache-from

指定一个或多个已有镜像来用于加速镜像拉取和构建过程。

docker compose --cache-from my-existing-image:latest up

自定义命令

允许用户运行自定义命令,以便执行未在 Dockerfile 中定义的操作。

-e--env

为服务添加或覆盖环境变量设置。

docker compose -e MY_VAR=myvalue up

--service

指定要执行特定操作的服务。

docker compose --service web restart

性能与调试

通过调整一些参数,可以增强 Compose 的运行时性能。

--no-ansi--ansi

控制是否显示彩色输出(对于日志和命令行提示)。

docker compose --no-ansi logs

--log-level-l

设置 Docker 服务的日志级别。

docker compose -l debug up

容器网络

自定义容器间的网络连接。

--network

指定一个已存在的 Docker 网络名称或创建一个新的网络。默认情况下,Docker Compose 自动创建并使用名为 <项目名>_default 的桥接网络。

docker compose --network my-network up

服务依赖与启动顺序

通过定义 depends_on 关系来控制容器的启动顺序。

--scale

指定运行的服务实例数量,以满足负载均衡需求。

docker compose --scale web=3 up

--timeout

自定义等待所有服务就绪的时间(单位为秒)。

docker compose --timeout 120 up

总结

通过上述命令行选项,用户能够更加灵活地管理和部署 Docker Compose 应用程序。无论是简化构建过程、优化性能还是定制化启动顺序,Docker Compose V2 的这些增强特性都为开发者提供了强大的工具集。

为了进一步掌握这些命令及其应用场景,建议阅读官方文档,并通过实际操作来深入理解它们的用法。