Docker 清理命令

  1. 删除停止的容器:停止的容器仍然会占用磁盘空间,可以使用以下命令删除所有停止的容器:

    docker container prune
  2. 删除无用的网络:Docker 创建的网络,如果不再使用,也可以被清理:

    docker network prune
  3. 删除悬挂的镜像:这些是在创建新镜像时,旧的、未被任何容器使用的镜像。可以使用以下命令删除这些镜像:

    docker image prune
  4. 删除无用的数据卷:数据卷是 Docker 用来持久化数据的一种方式,如果某些数据卷不再被任何容器使用,可以使用以下命令删除:

    docker volume prune
  5. 删除所有无用的 Docker 对象:上述所有的 prune 命令可以通过一个总的 prune 命令来一次性执行:

    docker system prune

    如果你还想删除那些未被任何容器引用的镜像,可以添加 -a 参数:

    docker system prune -a

获取容器日志占用

docker ps -qa | xargs docker inspect --format='{{.Name}} {{.LogPath}}' | while read container path; do
    if [ -f "$path" ]; then
        size=$(du -h "$path" | cut -f1)
        echo "$container: $size"
    fi
done

清空日志文件

# 找到容器日志路径
docker inspect --format='{{.LogPath}}' 容器名或ID

# 然后清空该文件
sudo truncate -s 0 /var/lib/docker/containers/<容器ID>/<容器ID>-json.log

在运行这些命令之前,请确保你了解这些命令的影响,并且已经备份了所有重要的数据。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。