在我的IT團隊通過碼頭部署許多應用程序的一種情況下。我們有我們自己的碼頭圖片,以及來自互聯網註冊表的其他圖片。碼頭圖像層次管理
一(基地)圖像可能是一個操作系統圖像,而另一個可能是一個運行時框架(用於Java,紅寶石,等...),還有一個可能是一些專用工具(如git,一些庫)。然後,最後,我們有我們的應用程序的圖像。
這意味着我們的容器層次結構是這樣的:
- 應用
FROM
工具和(ADD . /app)
- 工具
FROM
框架 - 框架
FROM
OS - OS爲基礎容器
每容器有它自己的D ockerfile。
然後如果我們需要創建另一個app2
,我們可以重新使用我們的框架容器。好。
但如果app3
走來,用很少的差異相似frameworks2容器從框架,那麼我們就結束了與其它圖像framework2。
這使得使用版本圖像及其基礎來控制應用程序的版本變得非常困難。
最後,我只選擇了一個Dockerfile。從操作系統的應用程序,它使一切,它的Dockerfile與應用版本。
任何人有其他想法?