Docker Compose - 在生产环境中使用 Compose

原文地址

在开发环境中使用 Compose 定义应用程序时,可以使用此定义在不同环境中运行应用程序,如 CI,staging 和生产环境。

部署应用程序的最简单方法是在单个服务器上运行它,这与运行开发环境的方式类似。如果要扩展应用程序,可以在 Swarm 群集上运行 Compose 应用程序。

1. 为生产环境修改 Compose 文件

可能需要对应用配置进行更改,以便为生产做好准备。这些更改可能包括:

  • 删除应用程序代码的任何卷绑定,以便代码保留在容器内部,并且不能从外部更改
  • 绑定到主机上的不同端口
  • 设置各种环境变量,例如,减少日志的详细程度或启用电子邮件发送
  • 指定类似 restart: always 的重启策略以避免停机
  • 增加额外的服务,如日志聚合器

出于这个原因,考虑定义一个额外的 Compose文 件,比如 production.yml,它指定了适合生产的配置。此配置文件只需包含要从原始 Compose 文件中进行的更改。额外的 Compose 文件可以在原始的 docker-compose.yml 上以创建新的配置。

一旦获得了第二个配置文件,请使用 -f 选项告诉 Compose:

docker-compose -f docker-compose.yml -f production.yml up -d

更多示例参考 这里

1.1 部署更改

修改应用程序代码后,记得重新构建镜像并重新创建应用程序的容器。要重新部署名为 web 的服务,使用:

$ docker-compose build web
$ docker-compose up --no-deps -d web

第一句命令重新构建 web 镜像,然后停止、销毁并重新创建 web 服务。--no-deps 标志防止 Compose 同时创建任何 web 所依赖的服务。

1.2 在单独的服务器上运行 Compose

通过适当设置 DOCKER_HOSTDOCKER_TLS_VERIFYDOCKER_CERT_PATH 环境变量,可以使用 Compose 将应用程序部署到远程 Docker 主机。对于这样的任务,Docker Machine 使得管理本地和远程 Docker 主机变得非常简单,即使不远程部署也是推荐的。

一旦设置了环境变量,所有普通的 docker-compose 命令都不需要进一步的配置。

1.3 在 swarm 集群上运行 Compose

Docker Swarm 是 Docker 原生的集群系统,它将相同的 API 公开为单个 Docker 主机(exposes the same API as a single Docker host),这意味着可以将 Compose 用于 Swarm 实例并在多个主机上运行应用程序。

集成指南 中阅读有关 Compose/Swarm 集成的更多信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值