docker 清理无用镜像常用命令

本文整理了Docker清理无用镜像的命令,如`dockerimageprune`和`dockersystemprune`,以及查看磁盘使用情况的`dockersystemdf`。同时,提供了快速部署postgis、nexus和nginx服务的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker 清理无用镜像常用命令整理如下:

请注意,在运行一下命令之前,请确保您不需要这些资源,并且所有数据都已经备份。

要清理无用的 Docker 镜像,可以运行以下命令:

docker image prune 

该命令将删除所有没有被任何容器使用的镜像。如果您还想要删除未被打标签的镜像,可以在命令后面添加 -a 参数,如下所示:

docker image prune -a 

另外,您还可以通过以下命令来显示当前占用磁盘空间的 Docker 资源:

docker system df 

该命令将显示 Docker 的磁盘使用情况和资源总量。如果您想要删除未被使用的容器、网络和数据卷等其他资源,可以运行以下命令:

docker system prune 

docker快速部署服务

需要根据实际情况修改对应的路径

1、postgis

docker run -t --name postgresql --restart always  -e POSTGRES_USER='postgres' -e POSTGRES_PASSWORD=abc123 -e ALLOW_IP_RANGE=0.0.0.0/0 -p 50006:5432 -v /opt/postgres_data/data:/var/lib/postgresql/data -d kartoza/postgis

2、nexus

docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus -v /nexus/data:/nexus-data  --restart unless-stopped sonatype/nexus3

3、nginx

docker run --name nginx  --net host -v /nginx/conf.d:/etc/nginx/conf.d -v /nginx/nginx.conf:/etc/nginx/nginx.conf -v /nginx/html:/usr/share/nginx/html -v /nginx/log:/var/log/nginx -d nginx
### 如何在 Linux 中清除 Docker无用镜像 在 Linux 系统中,可以通过多种方式来清理 Docker无用镜像。这些方法主要依赖于 `docker` 命令及其子命令,例如 `docker image prune` 和 `docker rmi`。 #### 使用 `docker image prune` 清理悬挂镜像 执行以下命令可以清理掉那些没有标签并且被任何容器引用的悬挂镜像: ```bash docker image prune ``` 此命令默认只清理悬挂镜像[^3]。如果希望强制删除而无需确认,则可加上 `-f` 参数: ```bash docker image prune -f ``` #### 扩展清理范围至所有使用镜像 为了进一步扩展清理范围到所有被活跃容器使用镜像(不仅仅是悬挂镜像),可以使用带有参数 `--all` 或 `-a` 的 `prune` 子命令: ```bash docker image prune --all ``` 或者更简洁的形式: ```bash docker image prune -a ``` 这会移除所有被当前运行或停止状态下的容器所引用的镜像[^4]。 #### 列出并手动删除特定镜像 有时可能需要先查看哪些镜像是多余的再决定是否要删除它们。通过下面这条指令可以获得所有标记为“dangling”的镜像ID列表: ```bash docker images -qf "dangling=true" ``` 之后利用获取到的结果批量删除这些不需要的镜像: ```bash docker rmi $(docker images -qf "dangling=true") ``` 这里需要注意的是,在尝试删除某个正在被某容器使用镜像时可能会失败,并收到错误提示;因此建议在此之前确保目标镜像确实处于闲置状态[^1]。 #### 综合脚本实现自动化管理 对于追求效率的朋友来说,也可以编写一个小脚本来完成整个过程。比如创建名为cleanup_docker_images.sh文件内容如下所示: ```bash #!/bin/bash echo "Removing all dangling images..." docker image prune -f &>/dev/null if [ $? != 0 ];then echo "[ERROR] Failed to remove dangling images." else echo "All dangling images have been removed successfully." read -p "Do you want also delete ALL unused images? (y/n): " choice case "$choice" in y|Y ) docker image prune -af ;; n|N ) exit 0;; * ) echo "Invalid input...";; esac fi ``` 赋予该脚本执行权限后即可方便快捷地操作了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值