在開發環境中使用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/