在生产环境中使用 Compose
目录
当您在开发中使用 Compose 定义应用时,可以使用此 定义在不同环境中运行应用程序,例如 CI、 暂存和生产。
部署应用程序的最简单方法是在单个服务器上运行它。 类似于您运行开发环境的方式。如果要扩展 在应用程序上运行,您可以在 Swarm 集群上运行 Compose 应用程序。
修改 Compose 文件以进行生产
您可能需要更改应用程序配置,使其做好准备 生产。这些更改可能包括:
- 删除应用程序代码的任何卷绑定,以便代码保留在内部 容器,并且无法从外部更改
- 绑定到主机上的不同端口
- 以不同的方式设置环境变量,例如减少 日志记录,或指定外部服务(如电子邮件服务器)的设置
- 指定重启策略(如
restart: always
)以避免停机 - 添加额外的服务,例如日志聚合器
因此,请考虑定义一个额外的 Compose 文件,例如 ,该文件指定适合生产
配置。此配置文件只需包含您要对原始 Compose 文件进行的更改。附加的 Compose 文件
然后应用于原始配置以创建新配置。production.yml
compose.yml
一旦你有了第二个配置文件,你可以用它来使用这个选项:-f
$ docker compose -f compose.yml -f production.yml up -d
有关更完整的示例和其他选项,请参阅使用多个编写文件。
部署更改
更改应用代码时,请记得重新构建镜像,然后
重新创建应用的容器。要重新部署名为 的服务,请使用:web
$ docker compose build web
$ docker compose up --no-deps -d web
第一个命令为 重建镜像,然后停止、销毁和重新创建
只是服务。该标志会阻止 Compose 同时
重新创建任何服务,这取决于。web
web
--no-deps
web
在单个服务器上运行 Compose
您可以使用 Compose 将应用部署到远程 Docker 主机,方法是设置 、 和 环境变量
适当地。有关更多信息,请参阅预定义的环境变量。DOCKER_HOST
DOCKER_TLS_VERIFY
DOCKER_CERT_PATH
设置完环境变量后,所有常规命令都无需进一步配置即可使用。docker compose