一、关于镜像
1、删除所有镜像
docker rmi `docker images -q`
2、按条件删除镜像
- 没有打标签
docker rmi `docker images -q | awk '/^<none>/ { print $3 }'`
- 镜像名包含关键字
docker rmi --force `docker images | grep doss-api | awk '{print $3}'` //其中doss-api为关键字
二、关于容器
1、查看运行容器
docker ps
2、查看所有容器 和 列出所有容器ID
# 查看所有容器
docker ps -a
# 列出所有容器ID
docker ps -aq
3、进入容器
- 其中字符串为容器ID:
docker exec -it d27bd3008ad9 /bin/bash
4、停用全部运行中的容器:
docker stop $(docker ps -q)
5、删除全部容器:
docker rm $(docker ps -aq)
6、一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
三、其他命令
具体详见参考文档
查看 docker 占用的资源
在进行资源清理之前我们有必要搞清楚 docker 都占用了哪些系统的资源。这需要综合使用不同的命令来完成。
docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。
docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。
docker volume ls:列出数据卷。
docker network ls:列出 network。
docker info:显示系统级别的信息,比如容器和镜像的数量等。
Docker 提供了方便的 docker system prune 命令来删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache:
docker system prune
安全起见,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定 --volumns 参数。比如你可能想要执行下面的命令:
$ docker system prune --all --force --volumes
这次不仅会删除数据卷,而且连确认的过程都没有了!注意,使用 --all 参数后会删除所有未被引用的镜像而不仅仅是 dangling 镜像。
网友评论