Docker常用命令
一、清理镜像
- 查询tag为none的镜像
docker images -f 'dangling=true' -q
- 删除tag为none的镜像
docker rmi $(docker images -f 'dangling=true' -q)
- 删除未使用的镜像
- 需要确认
docker image prune -a
- 删除未使用的镜像
- 不需要确认,强制删除
docker image prune -a -f
二、清理容器Exited进程
- 根据容器状态,删除Exited状态的容器
docker rm $(docker ps -q -f status=exited)
- 显示所有容器、过滤出Exited状态的容器,取出这些容器的ID
docker ps -a|grep Exited|awk '{print $1}'
- 显示所有容器、过滤出Exited状态的容器,取出这些容器的ID,删除这些容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`
# 或者
docker ps -a|grep Exited|awk '{print $1}'|xargs docker rm
- 删除所有未运行的容器(已经运行的容器删除不了)
docker rm $(docker ps -a -q)
- Docker 1.3版本之后,可以使用container prune命令,删除孤立容器
docker container prune
三、清理dangling volumes
- 可以参考清理Exited进程的四种方法
docker volume rm $(docker volume ls -qf dangling=true)
四、清理dangling image
- 可以参考清理Exited进程的四种方法
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
五、清理MatchNodeSelector的Pod
- 可以参考清理Exited进程的四种方法
kubectl --all-namespaces get po -o wide | grep MatchNodeSelector | awk '{print $1}' | xargs kubectl -n kube-system delete pods
六、格式化查询
- 格式化查询
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}"
- 获取指定列
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}"|awk '{print $1}'
七、导出镜像
- 导出单个镜像
docker save -o 自定义名称.tar 镜像名称:镜像版本号
- 将一批镜像导入一个文件
docker save 镜像名称:镜像版本号 镜像名称:镜像版本号 镜像名称:镜像版本号 ...... | gzip > 自定义名称.tar.gz
docker save \
base.hatech.com.cn/library/centos:v7.6.1810 \
base.hatech.com.cn/library/java:v8-jdk-alpine \
base.hatech.com.cn/library/nginx:v1.21.0-alpine | gzip > istorm-cnbr.tar.gz
docker save chengshiwen/influxdb:1.8.10-c1.1.2-meta chengshiwen/influxdb:1.8.10-c1.1.2-data | gzip > influxdb-1.8.10-c1.1.2.tar.gz
八、导入镜像
- 导入单个镜像
docker load -i 自定义名称.tar
- 导入镜像(该包下有多个镜像)
docker load < 自定义名称.tar
九、修改镜像
- 修改镜像TAG
- 如下:有两个IMAGE ID相同的镜像同时TAG为none
[root@storage ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
base.hatech.com.cn/cnbr/istorm-cnbr-operator <none> 4b240e2fd642 2 months ago 358MB
base.hatech.com.cn/hatech/istorm-cnbr-operator <none> 4b240e2fd642 2 months ago 358MB
- 设置其中一个镜像Tag为:v11
[root@storage ~]# docker tag 4b240e2fd642 base.hatech.com.cn/cnbr/istorm-cnbr-operator:v11
- 查看镜像列表
[root@storage ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
base.hatech.com.cn/cnbr/istorm-cnbr-operator v11 4b240e2fd642 2 months ago 358MB
base.hatech.com.cn/hatech/istorm-cnbr-operator <none> 4b240e2fd642 2 months ago 358MB
"registry-mirrors": ["registry.cn-hangzhou.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://ma8p1z36.mirror.aliyuncs.com","https://mirror.ccs.tencentyun.com","http://hub-mirror.c.163.com"],