?
This document uses PHP Chinese website manual Release
當您在開發(fā)中使用 Compose 定義應用程序時,可以使用此定義在不同的環(huán)境中運行應用程序,如 CI,分段和生產(chǎn)。
部署應用程序的最簡單方法是在單個服務器上運行它,這與運行開發(fā)環(huán)境的方式類似。如果要擴展應用程序,可以在 Swarm 群集上運行 Compose 應用程序。
您幾乎可以肯定地希望對適用于實時環(huán)境的應用配置進行更改。這些更改可能包括:
刪除應用程序代碼的任何卷綁定,以便代碼保留在容器內(nèi),不能從外部更改
綁定到主機上的不同端口
以不同的方式設(shè)置環(huán)境變量(例如,減少記錄的詳細程度或啟用電子郵件發(fā)送)
指定重啟策略(例如,restart: always
)以避免停機
添加額外的服務(例如,日志聚合器)
出于這個原因,你可能會想要定義一個額外的 Compose 文件,比如說production.yml
,它指定了適合生產(chǎn)的配置。此配置文件只需包含您想要從原始撰寫文件中進行的更改。額外的撰寫文件可以應用于原始文件docker-compose.yml
以創(chuàng)建新配置。
一旦你有第二個配置文件,告訴 Compose 使用它的-f
選項:
docker-compose -f docker-compose.yml -f production.yml up -d
有關(guān)更完整的示例,請參閱使用多個撰寫文件。
當您對應用程序代碼進行更改時,您將需要重建圖像并重新創(chuàng)建應用程序的容器。若要重新部署名為web
,你會用:
$ docker-compose build web $ docker-compose up --no-deps -d web
這將首先重建圖像web
,然后停止,銷毀,并重新創(chuàng)建剛的web
服務。--no-deps
標志防止撰寫也重新創(chuàng)建任何web
依賴的服務。
您可以使用撰寫通過設(shè)置來部署一個應用程序到遠程主機的碼頭工人DOCKER_HOST
,DOCKER_TLS_VERIFY
和DOCKER_CERT_PATH
適當?shù)沫h(huán)境變量。對于這樣的任務,Docker Machine 使得管理本地和遠程 Docker 主機變得非常簡單,即使您不是遠程部署,也是推薦的。
一旦你設(shè)置了你的環(huán)境變量,所有正常的docker-compose
命令都可以在沒有進一步配置的情況下工作。
Docker Swarm 是一個 Docker 本地集群系統(tǒng),它將相同的 API 公開為單個 Docker 主機,這意味著您可以將 Compose 用于 Swarm 實例并在多個主機上運行應用程序。
在集成指南中閱讀有關(guān) Compose / Swarm 集成的更多信息。
安裝組合
命令行引用
合成文件引用