docker 笔记

df 检查空间占用,经常会看到overlay2目录层,但后面路径是一串加密字符,与容器id是不一致的,可以用下面命令查询

如:/var/lib/docker/overlay2/a3f0e0eee1e0cfb3d57924f522ac7342e85174f47b58efbd2a49101fc132ac86/merged

sudo docker inspect $(sudo docker ps|awk '{print $1}') |grep a3f0e0eee1e0cfb3d57924f522ac7342e85174f47b58efbd2a49101fc132ac86 -A 100|grep Hostname

无法删除镜像

Error response from daemon: conflict: unable to delete 6ec9a5a0fc9f (cannot be forced) - image has dependent child images

列出所有在指定 image 之后创建的 image 的父 image

sudo docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Parent}}' $(sudo docker image ls -q --filter since=xxxxxx)

虚悬镜像

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

删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

sudo docker rm $(sudo docker ps -a -q)

根据容器的状态,删除Exited状态的容器

sudo docker rm $(sudo docker ps -qf status=exited)

可以使用 docker containers prune 命令,删除孤立的容器。

sudo docker container prune

清理容器输出日志

docker system prune

#!/bin/sh
echo "==================== start clean docker containers logs =========================="
 
logs=$(find /var/lib/docker/containers/ -name *-json.log)
 
for log in $logs
        do
                echo "clean logs : $log"
                cat /dev/null > $log
        done
 
 
echo "==================== end clean docker containers logs   =========================="

你可能感兴趣的:(docker 笔记)