本篇文章是個經驗分享文,作者分享使用 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
同時也有3部Youtube影片,追蹤數超過803的網紅樂筆 x 日光實驗室,也在其Youtube影片中提到,歡迎光臨~我是樂筆! 我有一個單身27年的朋友,每天嚷嚷著想結婚,但既然這麼想結婚,為什麼從來沒交過女朋友呢?這天終於邀請他來上節目分享這些年間他是如何保守自己、預備自己、認識自己的~(但真心祝福幼稚的他可以變得符合實際年齡些) 你怎麼看待單身呢?會不會有點害怕、有點著急?有時候覺得自由自在,但...
how to debug 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
本篇文章帶來的是 Kubernetes 1.20 的一些整理,到底 Kubernetes 1.20 有什麼改變以及要如何升級舊有的 Kubernetes 到 1.20
官方宣稱該版本有 42 個改進,其中 11 個改進是該內容正式畢業進入 stable 版本, 15 個轉移到 beta 版本而剩下 16 個則是進入 alpha。
1. Volume Snapshot Operations (Stable)
針對容器快照的相關操作正式進入穩定版,要注意的是這個功能必須要使用的 Storage 服務有支援,同時請記得,針對任何的儲存設備,可以使用 CSI 來安裝就使用 CSI。
盡量不要繼續使用 in-tree 的方式去銜接這些設備了,因為所有的維護與修改都轉移到 CSI driver 上
2. Kubectl Debug (Beta)
Kubectl alpha 之前的子指令 debug 已經正式轉移到 beta 版本,未來可以直接使用 kubectl debug 的指令來幫忙一些資源的驗證與處理。
譬如
a. 創建一個 pod 部署到指定的節點上並存取節點上的檔案系統來提供對節點的除錯功能
b. 針對運行 crash 的 pod 除錯
3. Dual IP Stack IPv4/IPv6 (Alpha)
IPv4/IPv6 功能重新實作,未來將可以對單一 Serivce 同時指派 ipv4 + ipv6 的地址,同時也可以針對現存單一 ipv4 的 service 進行轉換
4. Graceful node shutdown (Alpha)
過往刪除 Pod 時都會有所謂的 pod lifecycle 等階段來處理一切狀態,但是當節點被關機時,節點上方運行的 Pod 並不會遵循 Pod lifecycle 來處理。
這個新的功能將會讓 Kubelet 去感知到節點正在關閉,並且能夠針對正在運行的Pod去提供 graceful shutdown 的過程
更多的討論可以參考下列文章或是直接看官方全文,滿多功能都慢慢改變
另外要注意的是,每次改版都要注意 API 是否有改變名稱,非常推薦使用如 kube-no-trouble 這類型的工具去檢查當前部署資源的 APIVersion 是否有即將要被捨棄的,避免 k8s 更新後應用程式都無法部署上去的情況發生
https://faun.pub/whats-new-in-kubernetes-version-1-20-and-how-to-upgrade-to-1-20-x-5ea72f904e7d
how to debug 在 英語島雜誌 English Island Facebook 的精選貼文
【Debug】還要走多久才能到!
走到新月橋要花多久時間?
How ______ does it take to get to the Crescent Bridge on foot?
how to debug 在 樂筆 x 日光實驗室 Youtube 的精選貼文
歡迎光臨~我是樂筆!
我有一個單身27年的朋友,每天嚷嚷著想結婚,但既然這麼想結婚,為什麼從來沒交過女朋友呢?這天終於邀請他來上節目分享這些年間他是如何保守自己、預備自己、認識自己的~(但真心祝福幼稚的他可以變得符合實際年齡些)
你怎麼看待單身呢?會不會有點害怕、有點著急?有時候覺得自由自在,但有時候又忍不住懷疑自己的價值?單身不代表你不好,只是屬於你的季節尚未到來,不論單身或進入關係,你永遠值得被愛!趁著單身,趕快KO人生的各樣待辦事項,修正自己生命的bug!願每個人都成熟的進到關係中,成為祝福並且建立美好的家庭。
最後,跟聽眾說聲抱歉!不好意思我們平常太熟所以節目裡面講太多幹話,非常很努力才把它們修掉,所以時長只剩下30分鐘😂😂😂
註:基督徒數據王們應該有發現老易說撒拉99歲生以撒,是錯的!以撒在撒拉90歲、亞伯拉罕100歲時出生!這段老易口誤,懇請他的組員、朋友、粉絲(?)與未來老婆不要懷疑他的專業度(嗯,我被逼迫加上這段)。
創世紀17:19你妻子撒拉要給你生一個兒子,你要給他起名叫以撒,我要與他堅定所立的約,作他後裔永遠的約。
Welcome to Sunlight!
My friend, single for 27 years, is always yelling that he wants to get married. Why he never gets a girlfriend although he wants to get married? Finally I ask him to share how he keeps himself, prepares himself and knows himself these years~(Wish him meets the actual age)
What do you think about singledom? Are you a little afraid of or anxious? Sometimes you feel free but sometimes feel worthless? Being single doesn’t mean you’re not good enough, instead, meaning that it’s not quite ready yet. No matter you’re single or not, you’re always worthy of love! Get your to-do list down ASAP when you’re single, and “debug” your life! Hope you guys become mature first and then take off the single, bless others and found families.
Lastly, I’m sorry! Because we’re so familiar that we talk trash too much. I’m trying hard to delete so there are only 30 minutes left in the episode. 😂😂😂
Note: If you’re Christians, you may find that Ethan is wrong for saying “Sarah bore Isaac when she was 99 years old.” Isaac was born when Sarah was 90 years old and Abraham was 100 years old. It’s a slip of the tongue. Hope his group members, friends, fans(?) and the wife in the future believe his professionalism(Well, I’m forced to add it.)
Genesis 17:19 King James Bible
And God said, Sarah thy wife shall bear thee a son indeed; and thou shalt call his name Isaac: and I will establish my covenant with him for an everlasting covenant, and with his seed after him.
📁節目收聽方式:
Apple Podcast、KKBOX、Spotify 🔍歡迎光臨
- - -
✒️Facebook:https://www.facebook.com/sunlightpen007/
✒️Instagram:https://www.instagram.com/sunlight007_/
✒️合作邀約:hisunlight007@gmail.com
- - -
主持人兼編輯 Host/Editor/:樂筆
剪接師 Sound Editor:Papa.H
翻譯 Translator:Youli
how to debug 在 艾薩克Isaac Youtube 的最佳貼文
你想變帥嗎?你想看起來更有自信、吸引人嗎?
#變帥就是一個Debug的過程 ,看宅男工程師4步驟變身時尚男神!
訂閱頻道 ▶ https://pse.is/isaacslifestyle
Do you want to look great and attractive?
All you need to do is debug!
Let's see how the Taiwanese engineer get mansformed in 4 steps!
Subscribe me ▶ https://pse.is/isaacslifestyle
推薦連結Related Videos:
【男生穿搭#1】男裝搭配架構:「場合」決定「正式休閒」,再以「四原則」輕鬆搞定穿搭!【Men's Fashion #1】The Menswear Framework (https://youtu.be/A_qdg8JreLA)
【男生穿搭#2】二大配色原則,穿搭好簡單!|【Men's Fashion #1】2 Easy Color Matching Rules(https://youtu.be/E4o-7wuPvdg)
【男生穿搭#3】腿太短?不!只是你褲子穿太低了!|【Men's Fashion #3】Tips to Lengthen Your Legs and Look Taller (https://youtu.be/EVczxCFHWXk)
【男生穿搭#4】衣服怎麼穿才帥?合身是最大關鍵!|【Men's Fashion #4】How Your Suit & Shirt Should Fit(https://youtu.be/SKIAelqTYwk)
【男生穿搭#5】怕熱?其實是你穿錯材質!|【Men's Fashion #5】Men's Clothing Fabric Guide(https://youtu.be/I9D7IIA2SSE)
【男生穿搭#6】週五上班日怎麼穿?Business Casual好簡單!|【Men's Fashion#6】Business Casual Outfit Ideas for Men 2019(https://youtu.be/H4J1QKxaWw8)
【男生穿搭#7】想穿得帥一點?就從Smart Casual開始!|【Men's Fashion#7】Smart Casual Outfit Ideas for Men 2019 (https://youtu.be/IFUdE3wEwCw)
【男生穿搭#8】正式服裝原則 |【Men's Fashion#8】Formal Wear Guide for Men 2019 (https://youtu.be/DklPsF7QnJ0)
【男生穿搭#9】休閒可以不邋遢,6招穿出帥休閒! |【Men's Fashion#9】Casual Outfits Guide for Men 2019(https://youtu.be/5NRiu4gJvh0)
-
你也想改頭換面嗎?
歡迎 #預約艾薩克Isaac免費諮詢及男裝服務!
預約Booking : http://legere.simplybook.asia/v2/#book
官網Website : https://www.legere.com.tw (#LEGERE里格)
-
追蹤 Follow me
Instagram http://www.instagram.com/isaacslifestyle/
Facebook http://facebook.com/isaacslifestyle
商業合作邀約 For Business Inquiries
Email: [email protected]
-
#穿搭 #男生穿搭 #帥 #變帥 #改造 #改造工程師 #改造宅男 #宅男 #宅男工程師 #時尚 #時尚男神
how to debug 在 Wizard1st Youtube 的精選貼文
【?ติดตาม Social Media ของผมได้นะครับ】
➤IG : https://www.instagram.com/wizard1st
➤Facebook : https://www.facebook.com/wizard1st
➤Twitter : https://www.twitter.com/wizard1st
【? My PC Spec】
➤Intel Core i5 9400F
➤RTX 2070
➤RAM 16 GB
【⌨️Gaming Gear】
➤ Keyboard Black Widow 2016
➤ Mouse Logitech G903
➤ Mouse Pad Logitech Power Play
➤ Mic Signo E-Sport
【?ติดต่อโฆษณา】
[email protected] หรือผ่านทาง online-station
#มายคราฟ #พี่เฟิส #WzMinecraft