linux docker常用命令

宿主机器和Docker之间文件复制

// 从容器ID为45af44fe669a的/usr/share/nginx/html复制到宿主机器的/root路径下
docker container cp -a 45af44fe669a:/usr/share/nginx/html /root

// 把宿主机器的/root/build/下的所有内容复制到容器ID为45af44fe669a的/usr/share/nginx/html路径下
docker cp /root/build/. 45af44fe669a:/usr/share/nginx/html/

 

Docker删除名称为none的Image镜像

docker images|grep none|awk '{print $3 }'|xargs docker rmi

也可以先查看,后删除 docker ps
-a | grep "Exited" | awk '{print $1 }'|xargs docker stop docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm docker images|grep none|awk '{print $3 }'|xargs docker rmi

强制删除镜像名称中包含“doss-api”的镜像

docker rmi --force $(docker images | grep doss-api | awk '{print $3}')

杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有已经停止的容器

docker rm $(docker ps -a -q)

删除所有未打 dangling 标签的镜像

docker rmi $(docker images -q -f dangling=true)

删除所有镜像

docker rmi $(docker images -q)

删除停止的容器

docker rm $(docker ps --all -q -f status=exited)

删除没有使用的镜像

docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")

批量删除镜像

docker images | awk '{print $3}' | xargs docker rmi

批量删除容器

docker ps -a | awk '{print $1}' | xargs docker rm

如果需要根据具体的容器名或镜像名过滤的话,可以修改上面的awk表达式进行处理。
类似这样,删除test_开头的镜像:

docker rmi -f $(docker images --format "{{.Repository}}" |grep "^test_*")

 

清除坏的:镜像

docker rmi $(docker images -f "dangling=true" -q)

参考:参考1 参考2

posted @ 2020-09-01 16:08  一个小bu⑥  阅读(253)  评论(0编辑  收藏  举报