插件窝 干货文章 docker下载的包在哪里

docker下载的包在哪里

Docker 存储 容器 镜像 379    来源:    2025-04-28

在 Docker 中下载的包(如镜像、容器数据等)存储的位置取决于操作系统和 Docker 的存储驱动配置。以下是不同系统中的默认存储路径:


1. Docker 镜像存储位置

Docker 镜像和容器数据默认存储在 Docker 的数据目录中: - Linux: bash /var/lib/docker/ 包含子目录如: - overlay2/(默认存储驱动,存储镜像分层文件) - image/(镜像元数据) - containers/(容器数据)

  • Windows (WSL2):

    \\wsl$\docker-desktop-data\data\docker\
    

    (通过 WSL2 子系统管理)

  • macOS (Docker Desktop):

    ~/Library/Containers/com.docker.docker/Data/vms/0/
    

    (通过虚拟机的 Docker.raw 文件存储)


2. 查看具体路径

  • 通过 Docker 命令检查存储驱动

    docker info | grep "Docker Root Dir"
    

    输出示例:

    Docker Root Dir: /var/lib/docker
    
  • 查看下载的镜像列表

    docker images
    

3. 修改默认存储路径

如果需要更改存储位置(例如避免系统盘空间不足): - Linux:修改 Docker 配置文件 /etc/docker/daemon.jsonjson { "data-root": "/new/path/to/docker" } 重启 Docker 生效: bash sudo systemctl restart docker

  • Windows/macOS:通过 Docker Desktop 的 GUI 设置调整磁盘映像大小或路径。

4. 容器内下载的包

如果问题是指容器内部通过 apt-getpip 等下载的包: - 这些包默认存储在容器的文件系统中(如 /usr/lib/python3.9/site-packages/var/cache/apt/archives)。 - 如需持久化,需通过卷(Volume)绑定挂载(Bind Mount)将容器目录映射到宿主机: bash docker run -v /host/path:/container/path my_image


5. 清理下载的包

  • 删除无用镜像bash docker image prune -a
  • 清理容器缓存bash docker system prune

总结

  • 镜像/容器数据:默认在 /var/lib/docker(Linux)或 Docker Desktop 的虚拟文件中。
  • 容器内下载的包:需通过卷(Volume)持久化到宿主机。
  • 修改存储路径需谨慎,避免数据丢失。