Docker常用命令

203 阅读1分钟

Docker常用命令

一、清理镜像

  1. 查询tagnone的镜像
docker images -f 'dangling=true' -q
  1. 删除tag为none的镜像
 docker rmi $(docker images -f 'dangling=true' -q)
  1. 删除未使用的镜像
    • 需要确认
docker image prune -a
  1. 删除未使用的镜像
    • 不需要确认,强制删除
docker image prune -a -f

二、清理容器Exited进程

  1. 根据容器状态,删除Exited状态的容器
docker rm $(docker ps -q -f status=exited)
  1. 显示所有容器、过滤出Exited状态的容器,取出这些容器的ID
docker ps -a|grep Exited|awk '{print $1}'
  1. 显示所有容器、过滤出Exited状态的容器,取出这些容器的ID,删除这些容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`
# 或者
docker ps -a|grep Exited|awk '{print $1}'|xargs docker rm
  1. 删除所有未运行的容器(已经运行的容器删除不了)
docker rm $(docker ps -a -q)
  1. 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)

五、清理MatchNodeSelectorPod

  • 可以参考清理Exited进程的四种方法
kubectl --all-namespaces get po -o wide | grep MatchNodeSelector | awk '{print $1}' | xargs kubectl -n kube-system delete pods

六、格式化查询

  1. 格式化查询
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}"
  1. 获取指定列
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}"|awk '{print $1}'

七、导出镜像

  1. 导出单个镜像
docker save -o 自定义名称.tar 镜像名称:镜像版本号
  1. 将一批镜像导入一个文件
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       

八、导入镜像

  1. 导入单个镜像
docker load -i 自定义名称.tar
  1. 导入镜像(该包下有多个镜像)
docker load < 自定义名称.tar

九、修改镜像

  1. 修改镜像TAG
    • 如下:有两个IMAGE ID相同的镜像同时TAGnone
[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
  1. 设置其中一个镜像Tag为:v11
[root@storage ~]# docker tag 4b240e2fd642 base.hatech.com.cn/cnbr/istorm-cnbr-operator:v11
  1. 查看镜像列表
[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"],