docker容器的使用
删除docker容器
docker rm mysql
批量删除已经停止的容器
# 方法一
#显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
sudo docker ps -a|grep Exited|awk '{print $1}'
#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`
# 方法二
#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
sudo docker rm $(sudo docker ps -a -q)
# root用户
docker rm $(docker ps -a -q)
# 方法三
#根据容器的状态,删除Exited状态的容器
sudo docker rm $(sudo docker ps -qf status=exited)
Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。
#Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。
sudo docker container prune
#删除所有镜像
sudo docker rmi $(docker images -q)
Docker 容器清理空间
# 删除没被container 使用的所有image
docker volumn / image purge
docker image purge
删除没被container 使用的所有image, (之前使用过的会被保留,docker ps -a查看)
删除所有关闭的容器:
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
删除所有dangling镜像(即无tag的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
dangling是一种特殊的,不会再被使用到的镜像,docker有专门清理dangling镜像的命令
# 群友分享的命令
docker image prune -a -f
删除所有dangling数据卷(即无用的Volume):
docker volume rm $(docker volume ls -qf dangling=true)
[root@localhost ~]# docker image prune --help
Usage: docker image prune [OPTIONS]
Remove unused images
Options:
-a, --all Remove all unused images, not just dangling ones
--filter filter Provide filter values (e.g. 'until=<timestamp>')
-f, --force Do not prompt for confirmation 不提示确认
docker其他命令(储备)
sudo docker info:显示系统级别的信息,比如容器和镜像的数量等。
docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。
docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。
docker volume ls:列出数据卷。
docker network ls:列出 network。
docker system df 命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system df
该命令列出了 docker 使用磁盘的 4 种类型
● Images: 所有镜像占用的空间,包括拉取的镜像、本地构建的镜像
● Containers: 运行中的容器所占用的空间(没运行就不占空间),其实就是每个容器读写层的空间
● Local Volumes: 本地数据卷的空间
● Build Cache: 镜像构建过程中,产生的缓存数据
子命令
命令 | 描述 |
---|---|
docker image build | 从Docker文件构建映像 |
docker image history | 显示映像的历史记录 |
docker image import | 从tarball导入内容以创建文件系统映像 |
docker image inspect | 显示一个或多个映像的详细信息 |
docker image load | 从tar存档或STDIN加载映像 |
docker image ls | 列出映像 |
docker image prune | 删除未使用的映像 |
docker image pull | 从注册表中拉出映像或存储库 |
docker image push | 将映像或存储库推送到注册表 |
docker image rm | 删除一个或多个映像 |
docker image save | 将一个或多个映像保存到tar存档(默认情况下流式传输到STDOUT) |
docker image tag | 创建引用SOURCE_IMAGE的标签TARGET_IMAGE |