本文講的是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就會回報給你靈活性,更少的啟動時間以及更好的易用性。
原文發布時間為:2015-01-26
Docker 最佳實踐
編者的話 本文是docker使用過程中的一些最佳實踐。雖然很多都是老話重談,但是很多人在使用過程中還是沒有遵守,比如每個程序只使用乙個容器這個最佳實踐,有很多人都來問,如果不這樣行不行,當然行,但是如果你想長久的用docker,那還是請遵守最佳實踐吧。精益 簡單,易於管理,這是docker的精髓。最...
贏得 Docker 挑戰最佳實踐
難怪docker正在迅速發展。docker,乙個開源專案。僅僅兩年,docker價值近10億美元,最近獲得了9500萬美元的資金。令人激動的是,我們看到有這麼多開發者對這個專案的熱情。然而,我將在下面討論企業使用docker本身是不夠的。現代it問題 許多企業it團隊解決這兩個問題 首先,開發者和運...
基於docker開發的最佳實踐
翻譯自docker官方文件,原文 下面的開發模式已被證明是對基於docker開發應用的人們有幫助的。如果你發現了其他我們應該加入的東西,請告訴我們。小的映象能更快地通過網路拉取而且在啟動容器或服務時能更快地載入到記憶體。下面是一些保持映象小巧的經驗法則 rules of thumb run apt ...