在生产环境中使用Compose 【翻译】

在生产环境中使用Compose

在开发环境中使用Compose定义你的应用,可使用此定义在不一样的环境,(如 CI、暂存和生产)中运行应用程序。web

部署应用程序的最简单方法是在单个服务器上运行该应用程序,相似于运行开发环境的方式。若是要扩展应用程序,能够在 Swarm 群集上运行Compose应用。docker

为生产环境修改你的Compose文件

您可能须要对应用配置进行更改,使其为生产环境作好准备。这些更改可能包括:服务器

  • 删除应用程序代码的任何卷绑定,以便代码保留在容器内,而且不能从外部更改
  • 绑定到主机上的不一样端口
  • 为开发和生产设置不一样的配置文件,例如须要减小日志记录详细程度或启用电子邮件发送时)
  • 指定从新启动策略 如 restart: always 避免停机
  • 添加额外的服务,如 log aggregator

所以,请考虑定义一个额外的 Compose 文件,例如 production.yml ,该文件指定与生产相适应的配置。此配置文件只须要包含您但愿从原始Compose文件所作的更改。能够覆盖原始 docker-compose.yml 以建立新配置。ui

得到第二个配置文件后,告诉撰写使用它与 -f 选项:spa

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

 

有关更完整的示例,请参阅使用多个compose文件命令行

部署更改

更改应用代码时,请记住从新生成镜像并从新建立应用的容器。要从新部署一个名叫 Web 的服务,请使用:rest

 
$ docker-compose build web

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

 

这首先重建 Web 的镜像,而后仅中止、销毁和从新建立 Web 服务。--no-deps 标志阻止 Compose 也从新建立 Web 所依赖的任何服务。日志

在单个服务器上运行Compose

经过适当设置 DOCKER_HOSTDOCKER_TLS_VERIFY 和 DOCKER_CERT_PATH 环境变量,可使用Compose将应用部署到远程Docker主机。对于这样的任务,Docker Machine 使本地和远程Docker主机的管理变得很是简单,即便您不进行远程部署,也建议您这样作。code

设置环境变量后,全部正常的 docker-compose 命令都无需进一步配置。blog

在 Swarm 群集上运行Compose

Docker Swarm 是Docker本机群集系统,它公开与单个Docker主机相同的API,这意味着您能够针对Swarm实例使用Compose并在多个主机上运行应用。

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

Compose 文档

  • 安装Compose
  • 命令行引用
  • Compose文件引用

官方原文地址:https://docs.docker.com/compose/production/

相关文章
相关标签/搜索