2015-10-28 28 views
3

有許多非常小的Linux Docker鏡像,大約在4-5M左右,而「完整」的發行版大約從100M開始,爬到兩倍。運行時小型Docker鏡像有多重要?

從回購倉庫中預留存儲空間和下載時間,是否有對小圖像和大圖像的運行時間考慮?例如,如果我有一個已編譯的Go程序,一個在Busybox上運行,另一個在Ubuntu上運行,並且我在一臺機器上運行它們中的10個,以何種方式(如果有)比一個圖像很小而另一個很漂亮重?一個人消耗更多的運行時資源嗎?

回答

0

我從來沒有看到在消費其他資源比存儲,如果圖像是更大的,但是RAM任何真正區別,爲什麼有未使用的混亂在容器中的大開銷Docker容器應該是單一的過程?

當修剪下來的東西到小容器,有可能會考慮一些優點:

  • 部署時更快的傳輸
  • 成本(尤其如果你wan't做滾動升級很重要的。):最一次,我用大容器,我跑正好到存儲問題上小的虛擬機
  • 分佈式文件系統:使用某些文件存儲像GlusterFS或其他附加存儲,大容器減速,當bootet和更新的大量
  • 的大量開銷DA ta:如果你有500 MB的雜亂,你會在你的開發機器,你的CI/CD-Server,註冊表和生產服務器的每個節點上都有。這可能取決於你的使用情況。

我會說:如果你只是在內部使用一小撮容器,那麼尺寸就不那麼重要了,如果有的話,比在生產中使用容器的胡扯更重要。

+0

我有時在一個容器中運行多個進程(支持受監視的進程)。我想我要問的是,如果我有1G圖像和5M圖像保存相同的編譯Go腳本,Docker會在啓動圖像時消耗1G/5M的RAM,或者無論是哪種情況都足以運行Go程序?我可能需要100個這樣的程序,所以我想知道我需要運行這些程序的盒子的數量是否取決於我的代碼或Docker鏡像的大小。 – Greg