這是一個非規範性示例,僅突出顯示了使用 Compose 可以執行的關鍵操作。
第 2 步:在 Compose 檔案中定義服務
Compose 簡化了整個應用程式堆疊的控制,使您可以輕鬆地在單個易於理解的 YAML 配置檔案中管理服務、網路和卷。
在您的專案目錄中建立一個名為的檔案compose.yaml
並貼上以下內容:
services: web: build: . ports: - "8000:5000" redis: image: "redis:alpine"
該Compose檔案定義了兩個服務:web
和redis
。
步驟 7:拆分你的服務
使用多個 Compose 檔案可讓您針對不同的環境或工作流程自定義 Compose 應用程式。這對於可能使用數十個容器且所有權分佈在多個團隊的大型應用程式非常有用。
-
在您的專案資料夾中,建立一個名為 的新 Compose 檔案
infra.yaml
。 -
從檔案中剪下 Redis 服務
compose.yaml
並將其貼上到新infra.yaml
檔案中。確保services
在檔案頂部新增頂級屬性。您的infra.yaml
檔案現在應如下所示:
services: redis: image: "redis:alpine"
在您的compose.yaml
檔案中,新增include
頂級屬性以及檔案路徑infra.yaml
。
include: - infra.yaml services: web: build: . ports: - "8000:5000" develop: watch: - action: sync path: . target: /code
步驟 8:嘗試一些其他命令
如果您想在後臺執行服務,您可以傳遞標誌-d
(“分離”模式)docker compose up
並使用docker compose ps
它來檢視當前正在執行的內容:
docker compose up -d Starting composetest_redis_1... Starting composetest_web_1... docker compose ps Name Command State Ports ------------------------------------------------------------------------------------- composetest_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp composetest_web_1 flask run Up 0.0.0.0:8000->5000/tcp
如果你使用 啟動了 Compose docker compose up -d
,請在使用完服務後停止它們:
docker compose stop