Docker 常用命令总结

841 阅读1分钟

根据容器名称查询容器ID并删除

# 第一种写法
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 参数。比如你可能想要执行下面的命令


docker system prune --all --force --volumns
docker container prune # 删除所有退出状态的容器
docker volume prune # 删除未被使用的数据卷
docker image prune # 删除 dangling 或所有未被使用的镜像