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