2014-12-31 154 views
5

我目前的理解是,Docker在docker build期間執行任何RUN git clone命令,因此我的應用的代碼庫被「烘焙」到Docker映像中。容器啓動時的Docker git clone?

容器啓動時我該如何運行git clone

或者這被認爲是不好的做法和反模式?

這個想法是我不希望每次修改我的git回購庫時都不得不提高我的Docker映像版本。

回答

5

常見的設計模式是克隆和編譯Docker鏡像構建過程中的項目。另外,你可以配置你的圖像作爲Docker Automated Build,這是碼頭工人文檔中定義:

自動構建是碼頭工人樞紐的特殊功能,它允許您 使用泊塢樞紐的構建集羣自動創建影像 指定的Dockerfile和GitHub或Bitbucket回購(或「上下文」)。 系統將克隆您的存儲庫並使用存儲庫作爲上下文構建由Dockerfile描述的圖像 。然後將得到的 自動圖像上傳到Docker Hub註冊表,並將 標記爲自動構建。

自動構建隨時會在您指向的回購的分支中執行提交(和推送)時啓動。如果太頻繁觸發,也許你應該指向其他分支。無論如何,如果您選擇在運行新容器時運行git克隆,則可以使用CMD ["my-script"]來配置Dockerfile,這是我的腳本,任何帶有您希望的代碼的bash腳本。

+0

這正是我所需要的。謝謝你的提示! – AJB

+0

這對於大型代碼庫+長結帳階段是如何工作的?我們現在有一個VMWare從站,它執行SVN更新。使用碼頭工具,您將從頭開始創建新的碼頭圖像+完整結帳? – RvdK