2016-11-15 126 views
0

更新和存儲映像的正確工作流程是什麼?Docker:更新映像和註冊表

例如:

  1. 我從GitHub
  2. 我跑「泊塢窗構建」
  3. 我推到新的圖像(Dockerfiles,搬運工,compose.yml項目)下載源代碼泊塢窗集線器(或AWS ECR)
  4. 我把源代碼一些變化
  5. 推變化Github上
  6. 我現在應該做些什麼來更新註冊表(Docker Hub)?

A)我應該再「泊塢窗構建」運行,然後按新的圖像(新標籤)到註冊表?

B)我應該以某種方式提交對現有映像的更改並更新Docker Hub上的現有映像?

回答

1

這將取決於您將使用您的泊塢窗圖像以及您採用的「釋放」策略。

我的建議是,您可以將您在Docker Hub上保留的標籤與您在github中的發佈/標籤進行同步,並使用持續集成工具(如jenkins和github webooks)儘可能多地自動化您的產品。

然後你的流程變成: 你做你的代碼修改,並將它們集成到github中,理想情況下使用pull request方案。這意味着您的代碼將被合併到您的主分支中。 你的jenkins被配置爲當master被更改時,它將根據你的docker文件構建並推送到Docker中心。這將清除您的「最新」標籤,並確保Docker Hub中的最新標籤始終與您在github上的主版本同步。

如果您需要保留附加標籤,這通常是因爲不同分支你的軟件。你會像上面一樣做,通過jenkins和github webhooks與非主分支掛鉤。對於這個孤獨者,請看看官方庫如何在github上組織(例如,在postgres或mysql映像上)。

+0

在Github和Docker上使用相同的標籤在我的情況下似乎是正確的方式。謝謝! – nicq