Docker 最佳實踐

jopen 9年前發布 | 16K 次閱讀 Docker

本文是Docker使用過程中的一些最佳實踐。雖然很多都是老話重談,但是很多人在使用過程中還是沒有遵守,比如每個進程只使用一個容器這個最佳實踐,有很多人都來問,如果不這樣行不行,當然行,但是如果你想長久的用Docker,那還是請遵守最佳實踐吧。

精益、簡單,易于管理,這是Docker的精髓。最佳實踐可以確保你利用到Docker的所有優勢,使得這個強大工具能夠發揮最大的效果。本文的Docker最佳實踐可以幫助你學習使用已經在開發者中十分流行的Docker容器化技術。

Docker 最佳實踐

使用可信任的Build

可信任Build讓一切變得簡單。可信任的Build這個特性有助于簡化和共享repository。關鍵之處是在push任何build之前在本地完成所有開發和測試。如果你在本地構建和測試容器,當其被push到別的地方時也會用同樣的方式工作。

最少化Layer

太多的層次使得事情無端復雜,避免不必要的層次。要點是在可讀性和最少可能的層次間找到最優平衡。只在真正需要增加層次的時候增加額外的層次。

每個進程只使用一個容器

將應用解耦合到不同的容器中,每個進程一個容器。這使得系統更容易橫向擴展,也使得容器可以再利用。處理相互依賴的服務時,使用容器的關聯特性,而不是將它們直接放在同一個Docker容器里。

不要安裝不需要的Package

避免安裝不需要的package。這會幫助減少文件大小,減少依賴的復雜性,并且降低構造時間。比如,在數據庫鏡像里就沒有必要安裝文本編輯器,這完全是在浪費資源。任何時候盡可能地減少冗余。

使用DockerIgnore

DockerIngore可以很好得從構建上下文以及最終鏡像里排除不必要的文件和目錄。這個特性使得容器可以更快更有效地加載,節省很多浪費的啟動時間。

構建容易被替換的容器

容器是臨時的。也就是說,我們在設計容器就應該考慮到,僅用很少的步驟和配置就可以將其停止、刪除和替換。構建Docker容器時就要考慮到之后這個容器如何能被輕易丟棄替換。

注意使用標簽

Docker Build會生成一個易讀的標簽,幫助人們更輕松地管理鏡像。使用-t選項就可以使用Docker Build特性。追本溯源,Docker容器化最佳實踐是關于如何讓容器更簡單更純凈。避免任何會導致程序膨脹的不必要操作。時刻考慮到精簡,那么Docker就會回報給你靈活性,更少的啟動時間以及更好的易用性。

原文:http://blog.bigstep.com/big-data-performance/docker-best-practices/
譯文: http://dockerone.com/article/161 譯者: 崔婧雯

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!