©
本文档使用 PHP中文网手册 发布
当您在开发中使用 Compose 定义应用程序时,可以使用此定义在不同的环境中运行应用程序,如 CI,分段和生产。
部署应用程序的最简单方法是在单个服务器上运行它,这与运行开发环境的方式类似。如果要扩展应用程序,可以在 Swarm 群集上运行 Compose 应用程序。
您几乎可以肯定地希望对适用于实时环境的应用配置进行更改。这些更改可能包括:
删除应用程序代码的任何卷绑定,以便代码保留在容器内,不能从外部更改
绑定到主机上的不同端口
以不同的方式设置环境变量(例如,减少记录的详细程度或启用电子邮件发送)
指定重启策略(例如,restart: always
)以避免停机
添加额外的服务(例如,日志聚合器)
出于这个原因,你可能会想要定义一个额外的 Compose 文件,比如说production.yml
,它指定了适合生产的配置。此配置文件只需包含您想要从原始撰写文件中进行的更改。额外的撰写文件可以应用于原始文件docker-compose.yml
以创建新配置。
一旦你有第二个配置文件,告诉 Compose 使用它的-f
选项:
docker-compose -f docker-compose.yml -f production.yml up -d
有关更完整的示例,请参阅使用多个撰写文件。
当您对应用程序代码进行更改时,您将需要重建图像并重新创建应用程序的容器。若要重新部署名为web
,你会用:
$ docker-compose build web $ docker-compose up --no-deps -d web
这将首先重建图像web
,然后停止,销毁,并重新创建刚的web
服务。--no-deps
标志防止撰写也重新创建任何web
依赖的服务。
您可以使用撰写通过设置来部署一个应用程序到远程主机的码头工人DOCKER_HOST
,DOCKER_TLS_VERIFY
和DOCKER_CERT_PATH
适当的环境变量。对于这样的任务,Docker Machine 使得管理本地和远程 Docker 主机变得非常简单,即使您不是远程部署,也是推荐的。
一旦你设置了你的环境变量,所有正常的docker-compose
命令都可以在没有进一步配置的情况下工作。
Docker Swarm 是一个 Docker 本地集群系统,它将相同的 API 公开为单个 Docker 主机,这意味着您可以将 Compose 用于 Swarm 实例并在多个主机上运行应用程序。
在集成指南中阅读有关 Compose / Swarm 集成的更多信息。
安装组合
命令行引用
合成文件引用