簡體   English   中英

孤島Docker掛載主機卷?

[英]Orphaned Docker mounted host volumes?

我只是檢查了我的/ var / lib / docker / volumes文件夾,發現它正在破壞名為Docker UUID的文件夾,每個文件夾都包含一個config.json文件,其中的內容沿着

{"ID":"UUID","Path":"/path/to/mounted/volume","IsBindMount":true,"Writable":true}

哪里

/path/to/mounted/volume

是主機上的文件夾的路徑,該文件夾在某個時刻使用-v開關安裝到docker容器上。 我有這樣的文件夾可以追溯到我使用Docker進行實驗的開始,即大約3周前。

有問題的容器很久以前就被停了下來,並且很久以前就停泊了這些容器,所以我看不出那些條目沒有超過他們的銷售日期。 這引出了一個問題 - 剩下的就是我看到了一個錯誤,還是需要從/ var / lib / docker / volumes手動丟棄這些條目?

對於Docker 1.9及更高版本,有一種原生方式:

列出所有孤立的卷

$ docker volume ls -qf dangling=true

消除所有這些

$ docker volume rm $(docker volume ls -qf dangling=true)

從Docker用戶指南:

如果刪除裝入卷的容器(包括初始dbdata容器)或后續容器db1和db2,則不會刪除卷。 要從磁盤中刪除卷,必須使用對卷的引用對最后一個容器顯式調用docker rm -v。 這允許您在容器之間升級或有效遷移數據卷。 - 來源

這是故意的行為,以避免意外的數據丟失。 您可以使用docker-cleanup-volumes等工具清除未使用的卷。

對於Docker 1.13+和ce / ee 17+版本號,請使用volume prune命令

docker volume prune

dangling=true查詢不同,這不會刪除基於“遠程”驅動程序的卷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM