閱讀筆記:15 Best Practices when working with Docker

更新於 2024/01/17閱讀時間約 2 分鐘
標題:15 Best Practices when working with Docker
本篇文章作者根據經驗以及自身研究整理出了15個使用Docker的技巧與提示

1. 進行中的工作不應保存在未命名、已停止的容器中

如果進行中的工作保存在不好的容器中,可能會導致資料丟失、風險以及安全問題、不利於協作

2. 定期清理Image

幫助釋放存儲空間,優化Docker引擎性能,減少安全風險,以及維持主機整潔,易於管理。

3. 使用授權的相依套件

可以帶來更好的合法性、安全性、可靠性、支持性和法律責任。

4. 將變化很大的部分放在 DockerFile 的末尾

因為Docker會將每個步驟緩存為一個單獨的容器,重複的操作將不會重新執行,將變化較大的部分放在最後可提高性能

5. 不要在容器啟動時就獲取相依套件

避免在容器啟動時獲取依賴包帶來的問題,並提高容器的啟動速度和可管理性。最佳實踐是在構建Image時就獲取依賴包,並將它們打包到Image中。另外,還可以使用多階段構建和緩存等技術來優化構建過程,提高構建速度和效率。

6. 不要掛載共享資料夾

有助於提高容器的可移植性、安全性、可重現性和可管理性。

7. 保持Image simple and small

可以提高應用程序的可移植性、降低安全風險、減少Image大小、提高Image構建和管理效率。

8. 從頭開始構建

最大限度地減少相依

9. Tag Image

使用合理的Tag,有助於對Image進行排序

10. 使用小型基礎Image

例如-slim或-alpine,可以帶來更明確的依賴項、更少的儲存、更少的安全漏洞和攻擊面以及更快的構建時間。

11. 使用官方Image

帶來可靠性、安全性、活躍的社群支持以及易用性等好處。

12. 創建臨時容器

Dockerfile定義的Image應該盡可能是臨時的,提供隔離環境、避免依賴衝突、快速清理、易於重複,提高工作效率與可靠性,方便快速測試,不必擔心對主機有影響。

13. 使用multi-stage構建

幫助減小Docker Image的大小,優化構建速度,簡化構建過程,以及提高Docker Image的安全性。

14. 將多行參數進行排序

將多個RUN命令組合起來,減少Image層數、構建時間、優化Image緩存、增加Dockerfile可讀性。

15. 使用.Dockerignore

從構建中排除不必要的文件,減少Image大小並增加構建速度。
為什麼會看到廣告
avatar-img
17會員
83內容數
golang
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Alan的開發者天地 的其他內容
紀錄有哪些方式可以ssh到gce機器 放key到中繼資料 Compute Enging -> 中繼資料 -> 安全殼層金鑰 2. 使用TCP Tunneling 3. 使用gcloud ssh 可編寫tunnel的script 使用 IAP 进行 TCP 转发 | Identity-Aware Pr
最近在研究terraform與ansible的整合,不過還在摸索中,機器的版控對於維運來講相對重要,這時候有terraform的出現,在建立機器後會隨之產生機器的狀態檔,而ansible則是在建立好機器後幫助我完成我所需的機器相關設定 這是一款terraform結合ansible的小玩具,在gcp環
安裝與設定所需依賴 安裝依賴套件 2. 啟動 SSH 服務 3. 防火牆開啟網頁要用的PORT網頁 4. 安裝 SMTP Server (Postfix),發送通知email用 添加gitlab repo以及安裝package Add Gitlab package 可自行選擇要安裝CE版還是EE版,
👨‍💻簡介 有時候修改掛載的config檔,無法即時更新,需要重啟pod才會生效,為了解決這個問題,k8s-reloader因此而誕生,透過觀察掛載的configmap或是secret的變化自動對掛載的物件做滾動更新。 以下為在minikube環境下,透過掛載nginx-config檔並搭配re
之前因為常需要跑devops相關工具,因此開發環境完全是用Ubuntu的圖形化介面,但偶爾會遇到一些延遲以及小bug,偶然的機會下發現在windows設定git-bash似乎也能達到一樣的效果,也能順便增加對windows開發人員生態系的了解,因此本篇主要是針對如何設定美麗的terminal以及vs
之前都介紹docker監控container,這次來點不一樣的,直接裝在k8s裡面去監控pod的一些指標。 基本的指標像是cpu, mem, pod數量, node數量等等,都能透過kube-state-metrics完成,而如果想要監控一些流量的指標,像是tcp連線數,tw數等,則是需要另外在服務
紀錄有哪些方式可以ssh到gce機器 放key到中繼資料 Compute Enging -> 中繼資料 -> 安全殼層金鑰 2. 使用TCP Tunneling 3. 使用gcloud ssh 可編寫tunnel的script 使用 IAP 进行 TCP 转发 | Identity-Aware Pr
最近在研究terraform與ansible的整合,不過還在摸索中,機器的版控對於維運來講相對重要,這時候有terraform的出現,在建立機器後會隨之產生機器的狀態檔,而ansible則是在建立好機器後幫助我完成我所需的機器相關設定 這是一款terraform結合ansible的小玩具,在gcp環
安裝與設定所需依賴 安裝依賴套件 2. 啟動 SSH 服務 3. 防火牆開啟網頁要用的PORT網頁 4. 安裝 SMTP Server (Postfix),發送通知email用 添加gitlab repo以及安裝package Add Gitlab package 可自行選擇要安裝CE版還是EE版,
👨‍💻簡介 有時候修改掛載的config檔,無法即時更新,需要重啟pod才會生效,為了解決這個問題,k8s-reloader因此而誕生,透過觀察掛載的configmap或是secret的變化自動對掛載的物件做滾動更新。 以下為在minikube環境下,透過掛載nginx-config檔並搭配re
之前因為常需要跑devops相關工具,因此開發環境完全是用Ubuntu的圖形化介面,但偶爾會遇到一些延遲以及小bug,偶然的機會下發現在windows設定git-bash似乎也能達到一樣的效果,也能順便增加對windows開發人員生態系的了解,因此本篇主要是針對如何設定美麗的terminal以及vs
之前都介紹docker監控container,這次來點不一樣的,直接裝在k8s裡面去監控pod的一些指標。 基本的指標像是cpu, mem, pod數量, node數量等等,都能透過kube-state-metrics完成,而如果想要監控一些流量的指標,像是tcp連線數,tw數等,則是需要另外在服務
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
《心理學的法則》 ★反思精神疾病、翻轉生活難題,用心理學視野認識自己。
Thumbnail
【15本關於「整理/清理/收納/斷捨離/大掃除」的書】 農曆新年/春節倒數計時,不免俗地要進行大掃除, 在大掃除之前,建議不妨先看看這些書,了解自己的整理需求、收納性格。
Thumbnail
這本書的書名是「15分鐘寫出爆紅千字文」 非常的吸睛,但也讓人不禁懷疑, 15分鐘真的能寫出爆紅的千字文嗎? 會不會是言過其實了? 讀完推薦序和作者序,我有點被說服,好奇心也被引發。 作者的寫作的心法到底為何?真想一探究竟。 作者的文筆流暢、邏輯清晰、用字遣詞簡潔易懂。 將
Thumbnail
許多人會搶著陪你坐豪華禮車 但你要的是禮車拋錨時 願意陪你搭公車的人……美 著名媒體主播 歐普拉 溫芙蕾 生活的藝術在於掌握兩種相反的想法: 一:當作自己長生不老地做長遠計畫 二:當作自己明就要撒手人寰那樣過日子 創造力:就是在每個人都看到的地方 看見別人沒看見的東西……名教授 洪蘭
Thumbnail
本書能學到什麼? 1. 專業作家的養成之路 2.如何找到寫作靈感 3.如何鍛鍊寫作基本功 4.知識變現最重要的事
Thumbnail
★藝術投資沒有錯,但「藝術」一定在「投資」之前,為了投資買藝術品,將只能永遠被藝術擋在門外。
Thumbnail
一輩子有限, 體力有限, 時間有限。 要如何在有限的生命裡, 體驗更豐富的人生, 開拓更廣闊的視野, 培養更多元的思維。 閱讀,是我認為成本最低也最值得投資的項目之一。 透過閱讀,讓我們得以站在巨人的肩膀上看世界。
Thumbnail
★我們腦部的重量雖然只占體重的百分之二,卻消耗全身百分之二十的能量。
情緒人人都有,每天都在影響生活,左右我們的感覺、破壞我們的人際關係、削減你的力量。一旦讓情緒發揮這樣的能力,便成了「毒型情緒」。情緒不是壞東西,例如適度的焦慮是保護機制,讓你在真正遇到危險之前有所準備。然而情緒一旦過量,便可能毒害你。 ‧我們無法改變他人的行為,但可以控制自己的行動與思想。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
《心理學的法則》 ★反思精神疾病、翻轉生活難題,用心理學視野認識自己。
Thumbnail
【15本關於「整理/清理/收納/斷捨離/大掃除」的書】 農曆新年/春節倒數計時,不免俗地要進行大掃除, 在大掃除之前,建議不妨先看看這些書,了解自己的整理需求、收納性格。
Thumbnail
這本書的書名是「15分鐘寫出爆紅千字文」 非常的吸睛,但也讓人不禁懷疑, 15分鐘真的能寫出爆紅的千字文嗎? 會不會是言過其實了? 讀完推薦序和作者序,我有點被說服,好奇心也被引發。 作者的寫作的心法到底為何?真想一探究竟。 作者的文筆流暢、邏輯清晰、用字遣詞簡潔易懂。 將
Thumbnail
許多人會搶著陪你坐豪華禮車 但你要的是禮車拋錨時 願意陪你搭公車的人……美 著名媒體主播 歐普拉 溫芙蕾 生活的藝術在於掌握兩種相反的想法: 一:當作自己長生不老地做長遠計畫 二:當作自己明就要撒手人寰那樣過日子 創造力:就是在每個人都看到的地方 看見別人沒看見的東西……名教授 洪蘭
Thumbnail
本書能學到什麼? 1. 專業作家的養成之路 2.如何找到寫作靈感 3.如何鍛鍊寫作基本功 4.知識變現最重要的事
Thumbnail
★藝術投資沒有錯,但「藝術」一定在「投資」之前,為了投資買藝術品,將只能永遠被藝術擋在門外。
Thumbnail
一輩子有限, 體力有限, 時間有限。 要如何在有限的生命裡, 體驗更豐富的人生, 開拓更廣闊的視野, 培養更多元的思維。 閱讀,是我認為成本最低也最值得投資的項目之一。 透過閱讀,讓我們得以站在巨人的肩膀上看世界。
Thumbnail
★我們腦部的重量雖然只占體重的百分之二,卻消耗全身百分之二十的能量。
情緒人人都有,每天都在影響生活,左右我們的感覺、破壞我們的人際關係、削減你的力量。一旦讓情緒發揮這樣的能力,便成了「毒型情緒」。情緒不是壞東西,例如適度的焦慮是保護機制,讓你在真正遇到危險之前有所準備。然而情緒一旦過量,便可能毒害你。 ‧我們無法改變他人的行為,但可以控制自己的行動與思想。