在生產環境中使用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/

相關文章
相關標籤/搜索