在开发环境中使用Compose定义你的应用,可使用此定义在不一样的环境,(如 CI、暂存和生产)中运行应用程序。web
部署应用程序的最简单方法是在单个服务器上运行该应用程序,相似于运行开发环境的方式。若是要扩展应用程序,能够在 Swarm 群集上运行Compose应用。docker
您可能须要对应用配置进行更改,使其为生产环境作好准备。这些更改可能包括:服务器
restart: always
避免停机所以,请考虑定义一个额外的 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
所依赖的任何服务。日志
经过适当设置 DOCKER_HOST
、DOCKER_TLS_VERIFY
和 DOCKER_CERT_PATH
环境变量,可使用Compose将应用部署到远程Docker主机。对于这样的任务,Docker Machine 使本地和远程Docker主机的管理变得很是简单,即便您不进行远程部署,也建议您这样作。code
设置环境变量后,全部正常的 docker-compose
命令都无需进一步配置。blog
Docker Swarm 是Docker本机群集系统,它公开与单个Docker主机相同的API,这意味着您能够针对Swarm实例使用Compose并在多个主机上运行应用。
在集成指南中阅读有关 Compose/Swarm 集成的更多内容。
官方原文地址:https://docs.docker.com/compose/production/