2016-10-31 117 views
0

爲了讓我們的開發環境更容易克隆,我們正在轉向Docker。現在我瞭解碼頭工作流程的代碼和依賴關係,但我不知道如何處理我們使用的開發工具。Docker鏡像中的IDE?

那麼開發工具(例如IDE,git客戶端GUI,崇高文本......)的最佳實踐是什麼?它們應該嵌入圖像和集裝箱內,還是應該從主機上運行(我們知道所有的安裝地獄)?

我都對着泊塢窗樞紐,似乎在容器中嵌入開發工具是嘗試,但我不知道這是否是主流...

此外,在情況下工具從運行主機(不是容器),代碼如何共享主機和容器?是否應該將一個主機文件夾掛載爲卷(在這種情況下,該代碼不屬於該容器)?

編輯:明明目的不是強迫任何人使用集裝箱的工具,它只是方式更容易安裝一個最小共同開發環境...

感謝,

安託萬。

+1

讓開發人員選擇他們自己的工具。只需使用docker代碼,並讓開發人員使用vim,emacs或nano或任何他們想要的。 對於共享代碼,您使用-v選項運行容器,將主機上的文件夾與容器中的文件夾鏈接起來。然後只需在主機上使用任何編輯器和工具。 – doorstuck

+1

我懷疑將豐富的GUI工具移入docker容器是個好主意, GUI應用程序必須與窗口管理器和桌面環境進行互操作(出於顯而易見的原因),這與Docker容器隔離衝突 – agg3l

+1

您應該檢出http://www.eclipse.org/che/這是一個基於docker的IDE – generalhenry

回答

0

在回顧了有關工具的容器策略的幾個工作流程後,顯示出對於複雜的開發環境,保留2個圖像(即2個Dockerfiles)是有用的。其中一個包括基本的開發工具和一個沒有工具的裸工具(兩個Docker文件都是由bash腳本生成的,另一個是通用源代碼以避免冗餘)。

此政策爲新手提供指導方針(以及簡單的學習曲線)和專家靈活性的原因。

這種方法幾乎免費提供兩全其美。