2015-05-18 23 views
1

許多組織都在專門使用Docker,以便能夠無縫地回滾部署的軟件。例如,給定的圖像稱爲newapi,部署如下:Docker會清除舊的/未使用的圖像嗎?

# fetch latest 
docker pull newapi:latest 
# stop old one and terminate it 
docker stop -t 10 newapi-container 
docker rm -f newapi-container 
# start new one 
docker run ... newapi:latest 

如果出現問題,我們就可以恢復到以前的版本是這樣的:

docker stop -t 10 newapi-container 
docker rm -f newapi-container 
docker run ... newapi:0.9.2 

的問題變得隨着時間的推移,我們的本地Docker映像索引將獲得巨大的。 Docker是否會自動從本地索引中刪除舊的,未使用的映像以節省磁盤空間,還是我必須手動管理這些映像?

回答

2

它不適合你,但你可以使用下面的命令手動完成它。

#!/bin/bash 
# Delete all containers 
sudo docker rm $(sudo docker ps -a -q) 
# Delete all images 
sudo docker rmi $(sudo docker images -q) 

與所述搬運工RM和RMI命令的文檔是在這裏:https://docs.docker.com/reference/commandline/cli/#rm

附加命令是標準的bash。

+0

如果您可以鏈接迴文檔,我會接受答案:) –

+0

添加鏈接到碼頭文檔,其餘的只是shell的樂趣。 – errata

2

更新2016年9月對碼頭工人碼頭工人即將1.13:PR 26108commit 86de7c0引進了一些新的命令,以幫助促進可視化泊塢窗後臺數據多少空間以在磁盤上,並允許容易清理「不必要的」多餘的。

docker system prune將刪除所有懸掛的數據(即按順序:容器停止,沒有容器的卷和沒有容器的圖像)。即使未使用的數據,與-a選項。

您還可以:

here服用。

+1

這應該是現在接受的答案。 –

相關問題