插件窝 干货文章 Docker怎样清除<none>?

Docker怎样清除<none>?

镜像 Docker 删除 使用 918    来源:    2025-04-27

清除Docker中的镜像

在Docker中,<none>标签的镜像通常是以下几种情况: 1. 构建新镜像时产生的中间层镜像 2. 被新版本取代的旧镜像 3. 被取消标签的镜像

清除方法

1. 删除所有悬空(dangling)镜像

docker image prune

或者强制删除不询问:

docker image prune -f

2. 删除所有未被使用的镜像(包括未被任何容器引用的镜像)

docker image prune -a

3. 手动删除特定镜像

首先列出所有镜像:

docker images -a

然后删除特定镜像(使用IMAGE ID):

docker rmi <IMAGE_ID>

4. 删除所有未被使用的资源(包括镜像、容器、网络和卷)

docker system prune

更彻底的清理(包括未使用的镜像):

docker system prune -a

注意事项

  1. 执行prune -a会删除所有未被容器使用的镜像,包括可能有用的缓存镜像
  2. 生产环境谨慎使用prune -a,可能会删除将来构建需要的中间层
  3. 如果镜像被容器使用(即使容器已停止),不会被删除

预防镜像产生

  1. 构建镜像时指定标签:
docker build -t myimage:tag .
  1. 更新镜像时先删除旧标签:
docker rmi myimage:oldtag
docker build -t myimage:newtag .

通过定期执行这些清理命令,可以保持Docker环境的整洁并释放磁盘空间。