本篇文章是一個技術探討文,探討 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
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
刪除linux系統 在 哪裡好吃哪裡去:神秘的水原誠 Facebook 的精選貼文
當我們把系統部署在K8S(Kubernates)的環境中 需要設定對外PORT才能對外提供服務 對於這點, 我們只需要在需要開放的容器設定公開, 再選擇負載平衡器就可以了( ) 但你可能會發現 這樣產生的服務只有外部網路的IP, 如果被有心人士取得, 可能會造成資安的問題 所以我們會比較希望將不需要對外的服務利用內部網路做連結 然而這個GKE的介面, 卻沒辦法設定內部網路IP 好在, 這個問題還是可以解決的... 首先呢, 我們可以先進入我們想要設定服務的GKE叢集 點選連結 這裡使用GCP附送的免費Cloud Shell來做操作(類似免費的有限空間Linux) 照理說使用GCP的SDK應該也是可以在本地做, 不過感覺有點麻煩, 使用Cloud Shell應該比較簡單 但這個有使用時間的問題, 一周好像免費50小時?? 之前遇過一次, 不過忘了 點在Cloud Shell中執行 一開始需要授權, 點選授權, 接著就可以進入 其實這個指令是用來切換K8s的群集 以這條命令資料來說, 就是切換位於asia-southeast1-a區域, 專案xxxx的it-test群集 就改成自己需要的群集 顯示切換到it-test成功 輸入kubectl get pod 可以查看目前這個群集部署的系統 以這個部分來說, 水哥部署了一個nginx容器當作測試 那我們需要針對nginx開啟對外Port與IP才能提供服務 這裡可以看到已經開了兩個LoadBalancer, 分別是使用35.247.177.243與10.148.15.213做為External-IP對外服務 其中10.148.15.213為內部IP, 也就是我們這次想要實現的 而從介面的部分來看則是這樣 可以比較明顯的看到一個顯示外部負載平衡器, 一個則是顯示內部負載平衡器 然而, GKE的介面不允許建立內部的...這也讓我在這裡卡很久 那要怎麼做呢? 我們先刪除這兩個服務, 重新建立...
https://mshw.info/mshw/?p=26417
刪除linux系統 在 iThome Facebook 的最佳貼文
重要Linux核心開發者,同時也是Arm核心樹共同維護者的Arnd Bergmann,於信件列表中提到,在Linux 5.10成為長期支援版本核心之後,他檢視了Arm平臺,發現有部分CPU至少有5年甚至更久,沒有從維護者或是硬體使用者那獲得任何修補程式,經過Bergmann的調查與統計,他提出支援移除建議
https://www.ithome.com.tw/news/142151