2016-08-23 38 views
1

假設您可以創建具有以下命令碼頭構建創建另一套碼頭圖像,即使構建命令是相同的?

docker build -t demo:1.0 . 

在我看來,該泊塢窗圖像(demo:1.0)將被覆蓋,當我重新運行相同的命令500MB碼頭工人的形象。但是,我注意到當我重新運行該命令時,可用磁盤空間減少了。爲什麼會發生?碼頭工人在文件系統中的某處創建另一組圖像嗎?我想知道如何找到碼頭圖像的老一代並刪除它們。

回答

1

這是標準的碼頭工人的行爲,如果你運行

docker images 

,你可能會看到懸掛的圖片此

REPOSITORY   TAG     IMAGE ID   CREATED   VIRTUAL SIZE 
demo    1.0     a1b38444260e  6 days ago   500 MB 
<none>    <none>    46250b7172c5  6 days ago   500 MB 

您可以用命令

docker rmi $(docker images -qa -f "dangling=true") 

刪除懸而未決的圖像Docker不會自動刪除這些圖像,儘管這是一個邏輯功能。現在這個命令可以用來進行手動刪除。

雖然圖像存儲在/var/lib/docker/{driver-name}中,但您不會從該路徑手動刪除圖像。

+0

謝謝!該命令可以刪除懸掛的圖像。我在Windows上使用Boot2Docker。我重複構建映像時,主機PC的磁盤空間仍然減少。即使在我運行上面針對docker主機提供的命令後,主機PC的磁盤空間也不會增加。您可能會注意到,但現在我可能會談論Virtualbox,它會在每次構建映像時在主機PC的文件系統上創建文件...有沒有人有同樣的痛苦? –

+0

它幾乎沒有碼頭相關,你是對的,這是Virtualbox的虛擬磁盤問題,也許試圖在某些時候關閉虛擬磁盤並觀察它的大小。 – vitr

相關問題