本篇文章是個經驗分享文,作者分享使用 Docker 作為開發環境時值得注意的 Best practices,透過這些經驗分享希望能夠讓開發者少走一些冤枉路。
原文提出了 15 個經驗談,這邊幫大家節錄幾個,有興趣的可以點選原文瞭解更多!
1. One thing at a time
2. Be ephemeral
3. Utilize .dockerignore
4. Less is more
5. Secrets should be secret
6. PID 1 is your birth right
7. Share and Care
8. Vulnerability Scan
9. Tag like you mean it
10. Permissions are costly
11. Source of Truth
12. Always official
13. Don’t include debug
14. Use entry point script smartly
15. Size does matter
One thing at a time
建置 Image 的時候專注做好一件事情,每個 Image 應該有一個專心要解決的問題,譬如一個應用程式,一個小工具等。對於 Nginx 這類型的 Image 來說,應該沒有人會期望於裡面看到有 Apache 的應用程式吧?
Be ephemeral
這個主要探討的是該 Image 本身建置時應該要以 stateless 的概念去處理,未來不論是透過 docker 或是 Kubernetes 來管理部署時,Contaienr 都很有機會被重啟,每次的重啟都意味該容器是重新啟動。所以千萬不要讓你的 Image 變成多次重啟會導致應用程式出問題的形式,任何的這類型資料應該都要透過外部取得,不要塞到你的 Image 內
Utilize .dockerignore
善用 .dockerignore 這個檔案來將不必要的檔案從 build 過程給排除,使用方法與 .gitignore 類似。透過這個檔案的設定可以避免 docker build 的時候不會把一些過大或是完全不需要的檔案都送給 docker daemon,不當浪費時間也浪費空間。
Less is more
避免安裝任何無關或是非必要的套件到你的 image 中,特別是那些 "nice to have" 的理由。
註: 我個人是滿討厭把 Image 弄得很乾淨的,除錯什麼工具都沒有,連 ash/sh/busybox/bash 都沒有的 image 更是我討厭中的排行榜冠軍
Secrets should be secret
任何機密資訊都應該要於運行期間動態載入,而不是建置期間塞入。請使用其他工具譬如 Vault 來管理這些機密資訊,並且執行期間讓 Container 能夠存取到正確的值。
PID 1 is your birth right
Linux 環境下會使用 SIGTERN, SIGKILL 等相關的 Singal 來戳你的應用程式,請確保你運行的應用程式要能夠攔截這些訊號來處理並完成有效的 Graceful shutdown.
Share and Care
如果環境中有多個 Image 彼此有共享相同的工具與功能,與其每個 Image 都單獨建置維護不如建置一個 Base Image,接者讓所有要使用的 image 去載入使用即可。
透過這種方式可以讓整體的維護性與管理性更為簡單,每個 image 可以減少重複的程式碼,同時要升級時只要針對 base Image 處理即可。
https://medium.com/pradpoddar/avoid-costly-mistakes-using-advanced-docker-development-best-practices-acd812784109
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「busybox」的推薦目錄:
- 關於busybox 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於busybox 在 肥豆の雜八琅 Facebook 的精選貼文
- 關於busybox 在 奧斯卡報報 Oscar's Post Facebook 的最讚貼文
- 關於busybox 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於busybox 在 大象中醫 Youtube 的精選貼文
- 關於busybox 在 大象中醫 Youtube 的最佳解答
- 關於busybox 在 BusyBox 基本用法教學 的評價
- 關於busybox 在 claroty/busybox-fuzzing - GitHub 的評價
- 關於busybox 在 Cannot run executables with Alpine and Busybox docker images 的評價
- 關於busybox 在 BusyBox Smart Sign - Working From Home - YouTube 的評價
- 關於busybox 在 How do I check busybox version (from busybox)? - Unix ... 的評價
busybox 在 肥豆の雜八琅 Facebook 的精選貼文
#那天19年05月09日
蔴蔴又做了新的busy box。其實已經玩了很久,也差不多被鵝子們打入冷宮了,但蔴蔴一直忘了上來分享。🙈
這個busy box也是我之前在IG無意中發現的,默默存下來、默默收集牛奶蓋,等收集夠了才開工。因為跟車子有關,所以相信鵝子們會很喜歡。
蔴蔴用不同顏色的主題做一面busy版,順便可以刺激鵝子對顏色深淺的認知與敏感度。蔴蔴把在IG看到的稍作修改並加入適合鵝子們的版面設計,然後就有了這獨一無二的busy box。
💚 鈕鈕樂 (buttoning)
肥豆之前說想學鈕鈕扣,所以蔴蔴用他最喜歡的青色做了這部分。其實縫這個也挺費時的,因此對於那些自製busy book的媽媽們,蔴蔴我真的甘拜下風啊啊啊。
❤️ 拉拉樂 (pulling)
把拉鍊的方向隨意縫上,讓寶寶自行去探索從不同的方向去拉拉鍊。這對肥豆來說沒什麼難度,一一偶爾需要想一下,因為不是同一個方向都可以拉開拉鍊。😂
💛 插插樂 (slotting)
一一很喜歡玩slotting,所以蔴蔴特別加入這個插卡的項目,並在每張卡貼上不同深度的黃色,考一考他的眼力並測試下他有沒有色盲(家族裡有色盲的基因)。幸好最後都安全過關,而且一一挺愛這一版,停留在這裡好久。
💙 轉轉樂 (twisting)
這是這組busy box的重頭戲,請算一算蔴蔴我跟鵝子們是喝了多少瓶牛奶才收集到那麼多瓶蓋啊,哈哈。用不同的藍色剪出車子的形狀,再讓鵝子們把輪子與車子的顏色配對,鵝子很busy一直忙著幫車子鎖上正確的輪子。
這busy box花了三天的時間來完成,製作到一半時,肥豆一直問我好了嗎,每天好像監察員一樣一直來關心我的進度,搞得蔴蔴我壓力好大。結果我只好放下手邊的事,連夜趕工完成。
手指被針紮得有點痛,不過鵝子們玩得開心,蔴蔴的辛苦也值得啦!❤️
#busybox
#myDIY
#HomeActivities
#ToddlerActivities
#04y01m
#01y09m
#我和我的鵝子們在家這樣玩
busybox 在 奧斯卡報報 Oscar's Post Facebook 的最讚貼文
#親子DIY玩具
DIY 樂高LEGO 隨身外出盒
(附桌遊教學及任務卡下載連結)
最近小屁孩愛上樂高,那就來整一個 #樂高隨身外出盒 吧!
◾️提醒一下,這裡分享的樂高是4+小孩玩的 bricks 哦!再小的孩子,麻煩先乖乖玩DUPLO系列嘿!
◾️玩樂高不單是簡單的搭建遊戲,除了培養專注力、邏輯思維、創造力,大家一起玩還能培養團隊合作、溝通、分享、解決問題能力……,坊間甚至推出一系列的樂高課程就知道lego 的影響力多高了。
◾️自製 #樂高隨身外出盒 ,首先你要先準備一個盒子,不要太大(媽媽包已經很重了,不要把樂高盒也弄得太大) ,裝個30塊bricks就夠了。可以是餅乾盒、膠盒,我使用的是A5 透明文件膠盒 ( 12蚊店/大創有) ,另圖上的是lego LEGO 專賣店有的(HKD$49) 。
https://m.facebook.com/LEGOHongKong/
>>> 詳細分享 https://bit.ly/2QKrxWi
LEGO Certified Store HK - Kidsland
https://m.facebook.com/legocertifiedstorehk.kidsland
#DiyPortableLegoKit #BusyBox #PrintableActivityCard #Lego
busybox 在 コバにゃんチャンネル Youtube 的最讚貼文
busybox 在 大象中醫 Youtube 的精選貼文
busybox 在 大象中醫 Youtube 的最佳解答
busybox 在 claroty/busybox-fuzzing - GitHub 的推薦與評價
BusyBox is a software suite of many useful Unix utilities, known as applets, that are packaged as a single executable file. You can find within BusyBox a fully ... ... <看更多>
busybox 在 BusyBox 基本用法教學 的推薦與評價
本篇教學介紹如何使用BusyBox,BusyBox 是一個自由軟體,它在一個可執行檔中提供了很多常用且精簡的Unix 工具,由於BusyBox 執行檔的檔案大小比較小, ... ... <看更多>