在Docker中,當容器被刪除時,它們并非立即從系統(tǒng)中刪除。相反,Docker引擎將容器標記為刪除,在后臺運行的垃圾處理程序則負責清除這些已刪除的容器以及其他垃圾。
Docker垃圾處理機制包含兩個部分:
Docker服務(wù)端機制
Docker客戶端命令
首先,讓我們來看一下Docker服務(wù)端機制。
"storage-driver": "devicemapper", "storage-opts": [ "dm.use_deferred_removal=true", "dm.use_deferred_deletion=true" ]
Docker垃圾處理機制的關(guān)鍵部分是容器存儲驅(qū)動程序的設(shè)置。使用"devicemapper"存儲驅(qū)動程序時,您可以通過在Docker配置文件中的存儲選項中包含"dm.use_deferred_removal = true"設(shè)置來啟用延遲刪除。這使得Docker垃圾處理機制可以以最佳方式清理您的容器。
接下來,我們看一下Docker客戶端命令。
$ docker system prune
Docker客戶端命令"docker system prune"可用于手動觸發(fā)垃圾收集。此命令將清除系統(tǒng)中所有未使用的容器、鏡像和網(wǎng)絡(luò)。
在總結(jié)中,Docker垃圾處理機制利用Docker服務(wù)端機制和Docker客戶端命令來確保系統(tǒng)中不再使用的容器和其他垃圾可以及時清除。這有助于釋放系統(tǒng)資源并使Docker運行更高效。