根據容器名稱查詢容器ID並刪除docker
# 第一種寫法
docker stop `docker ps -a | grep test-project | awk '{print $1}' `
docker rm `docker ps -a | grep test-project | awk '{print $1}' `
# 第二種寫法(推薦)
docker stop `docker ps -aq --filter name=test-project`
docker rm `docker ps -aq --filter name=test-project`
複製代碼
根據鏡像名稱查詢容器ID並刪除安全
# 第一種寫法
docker stop `docker ps -a | grep ygsama/test-project:1.0.2 | awk '{print $1}' `
docker rm `docker ps -a | grep ygsama/test-project:1.0.2 | awk '{print $1}' `
# 第二種寫法
docker stop `docker ps -aq --filter ancestor=ygsama/test-project:1.0.2`
docker rm `docker ps -aq --filter ancestor=ygsama/test-project:1.0.2`
# 刪除全部中止的容器
docker rm $(docker ps -a -q)
docker images -q --filter reference=ygsama/test-project*:*
docker image rm `docker images -q --filter reference=10.2.21.95:10001/treasury-brain*:*`
複製代碼
Docker 提供了方便的 docker system prune
命令來刪除那些已中止的容器、dangling 鏡像、未被容器引用的 network 和構建過程當中的 cache. 安全起見,這個命令默認不會刪除那些未被任何容器引用的數據卷,若是須要同時刪除這些數據卷,你須要顯式的指定 --volumns 參數。好比你可能想要執行下面的命令bash
docker system prune --all --force --volumns
docker container prune # 刪除全部退出狀態的容器
docker volume prune # 刪除未被使用的數據卷
docker image prune # 刪除 dangling 或全部未被使用的鏡像
複製代碼