簡體   English   中英

Docker 環境版本控制的圖像存儲庫名稱或標簽

[英]Docker image repository name or tag for environment versioning

希望獲得一些關於創建 Docker 圖像以在多個環境中部署的最佳方法的建議。 假設我們有 3 個環境——DEV、UAT 和 PRD,最好相應地命名圖像以及版本標簽,即

my-service-dev:release-10
my-service-uat:release-8
my-service-prd:release-6

或保持存儲庫相同但使用標簽:

my-service:dev-release-10
my-service:uat-release-8
my-service:prd-release-6

我們使用 Bamboo 作為構建/部署管道,因此可以輕松地 append 構建/發布變量。

非常感謝任何建議。

通常您應該在所有環境中使用相同的圖像,這樣當您將圖像推送到生產環境時,您運行的代碼與您在測試環境中運行的代碼完全相同。 您也不需要標簽中的“release”之類的文本,如果您查看標准的 Docker Hub 圖像,標簽只是一個數字就足夠了。

my-service:10

如果您的 CI 系統可以生成連續的構建號,那么這些就可以正常工作。 如果開發人員自己構建測試圖像,使用時間戳或源代碼控制提交 ID 可能更方便。

my-service:20201111
my-service:g52fc7a0

如果您真的需要在不同的環境中構建不同的版本,標准 Docker Hub 圖像會像標簽中那樣編碼細節。 例如, python圖像具有變體python:3.9-alpinepython:3.9-buster (Debian)。 頂級鏡像名稱通常是注冊表中的一個“單元”; 您可能需要使用 Terraform 之類的工具在 AWS ECR 中創建新的圖像名稱,但是一旦圖像名稱存在,您就可以推送任意多個標簽。

my-service:10-test
my-service:11-prod

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM