插件窝 干货文章 docker image存在哪里

docker image存在哪里

Docker 镜像 存储 路径 814    来源:    2025-04-30

Docker 镜像的存储位置取决于操作系统和 Docker 的配置方式。以下是不同平台下 Docker 镜像的默认存储路径及管理方法:


1. 默认存储路径

Linux 系统

  • 默认路径: /var/lib/docker/
    • 镜像内容存储在子目录中:
    • overlay2/(默认存储驱动目录,包含镜像分层文件)
    • image/(镜像元数据)
    • containers/(容器数据)

macOS / Windows (Docker Desktop)

  • Docker Desktop 使用虚拟机(Linux VM)运行 Docker,镜像实际存储在虚拟机中。
    • 查看路径(需进入虚拟机): bash # macOS/Win 的 Docker Desktop 中执行 docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh ls /var/lib/docker/
    • 宿主机上的虚拟磁盘文件位置
    • macOS: ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
    • Windows: %USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx

Windows (WSL2)

  • 镜像存储在 WSL2 子系统中,路径为:
    \\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2

2. 修改镜像存储路径

如果默认路径磁盘空间不足,可以迁移存储位置:

Linux 系统

  1. 停止 Docker 服务: bash sudo systemctl stop docker
  2. 修改配置文件 /etc/docker/daemon.json(若不存在则创建): json { "data-root": "/new/path/to/docker" }
  3. 复制旧数据到新路径: bash sudo rsync -aqxP /var/lib/docker/ /new/path/to/docker
  4. 重启 Docker: bash sudo systemctl start docker

macOS/Windows (Docker Desktop)

  • 通过 GUI 修改:
    Settings → Resources → Advanced → Disk image location(选择新路径)。

3. 查看镜像存储信息

  • 列出所有镜像bash docker images -a
  • 查看镜像详情(包括分层信息)bash docker inspect <IMAGE_ID>
  • 查看磁盘使用情况bash docker system df

4. 清理无用镜像

  • 删除所有未使用的镜像bash docker image prune -a
  • 清理包括缓存和停止的容器bash docker system prune -a

关键点总结

  • Linux 直接存储在 /var/lib/docker
  • macOS/Windows 通过虚拟机或 WSL2 存储,路径隐藏较深。
  • 修改存储路径需谨慎操作,避免数据丢失。

如有进一步问题(如具体系统配置或迁移细节),可以补充说明您的环境!