本篇文章是一個技術探討文,探討 Docker 是如何使用硬碟空間以及當維運人員發現空間不足時應該要如何清理系統上的空間。
Docker 的便利使用方式使得開發人員可以非常簡的透過的 Container 的概念來運行各式各樣的應用程式,這中間牽扯包含 Image 的建置,抓取以及透過其產生出一個運行的 Container。
隨者時間愈用愈久,系統內可用的空間也會愈來愈少,這時候可以透過 docker system df 來觀看一下目前系統上的空間資訊,主要包含下列四種類型,而每個類型也會包含目前使用量以及可以回收的量有多少
1. Images
2. Containers
3. Local Volumes
4. Build Cache(只有 docker 18.09 後使用 buildkit 才會有)
當 Contaienr 被創建時, /var/lib/docker 底下會有很多檔案以及資料夾都被創建出來,譬如
- /var/lib/docker/containers/ID (資料夾):如果 container 使用的是預設的 logging driver,則 log 檔案都會以 JSON 的格式存放於這個資料夾底下。
所以要注意,當 contaienr 有太多 log 時,其會透過這個方式影響節點檔案系統的容量
- /var/lid/docker/overlay2 (資料夾): 這邊包含了 containers 本身的 read-write layer 的檔案,大部分 Linux 發行版預設都會使用 overlay2 來管理。此外 contaienr 內如果有存放任何額外檔案於系統中,實際上都會放這節點上的這個資料夾內。
接下來作者透過一個實際的範例,讓一個全新的 contaienr 內透過 dd 指令來產生一些檔案,並且觀察上述資料夾的變化以及 docker system df 的結果,最後介紹 docker prune 以及 docker rm 針對 contaienr 的處理。
關於 image 的部分,除了常規使用的 Image 外,還有
1. Dangling images: 不再被參考使用的 image,譬如 ID/Tag 都是 None 的
這邊可以透過 docker image ls -f dangling=true 的指令
文章後半部分還有介紹 docker volume 以及 build cache 的部分,這篇文章非常推薦大家閱讀,除了基本使用外還會介紹底層 docker 實際上用到的資料夾,有了這些概念未來對於如何清除 docker 環境就會更有概念,知道要刪除哪些資料夾以及為什麼要刪除。
https://betterprogramming.pub/docker-tips-clean-up-your-local-machine-35f370a01a78
linux指令rm 在 純靠北工程師 Facebook 的最佳解答
#純靠北工程師331
工程師:「林sir聽說你的興趣是做甜點?那我這樣跟你說好了,假設有一個貨架,上面是各種做餅乾的原料,像是麵粉、砂糖、奶油什麼的;一般人用的delete,就是把這些原料通通拿下來分別扔進垃圾桶,而你家員工剛才在測試Linux上面用的rm -rf指令,就是把這些原料全部拆開來,攪和在一起弄成一個麵團再扔。」
工程師:「如果要把這個貨架恢復原狀的話,兩者的難易度完全不在一個級別,不如說後者在原則上根本不可能恢復原狀。你現在應該懂亂用rm -rf這個指令的下場了吧?你要感謝你的上帝當時那台測試機是下線狀態,不然你要找的就不是工程師而是律師了。」
今天跟著學長去處理客戶叫修增加經驗,順便學習如何當面跟客戶應對,結果當場見識到據說十分稀有的工程師電人畫面,感覺真是蘇胡呢。
👉 去 GitHub 給我們🌟用行動支持純靠北工程師 https://github.com/init-engineer/init.engineer
📢 匿名發文請至 https://kaobei.engineer/cards/create
🥙 全平台留言 https://kaobei.engineer/cards/show/3997
linux指令rm 在 執行rm -fr 會發生什麼事情? | 不要用在任何的Linux 中 - YouTube 的美食出口停車場
![影片讀取中](/images/youtube.png)
Linux 的使用者通常都聽過一個 指令 操作上的笑話" rm -fr /"雖然你知道這個嚴重性,這個影片試給你看,到底有多嚴重!本影片內容適用於大多數的 Linux , ... ... <看更多>
linux指令rm 在 Linux 指令教學- rm - YouTube 的美食出口停車場
熱愛Python 以及 Linux , 希望透過寫程式為社會貢獻,喜歡拍程式教學影片幫助想學習的人。 ... Linux 指令 教學- rm ... 不使用 rm 命令如何删除文件? ... <看更多>