win10环境安装docker到d盘、迁移镜像:减少c盘的占用空间!

写在前面

由于现在 docker Desktop 默认使用 WSL 2 来运行,而不是以前的 Hyper-V

所以 在win10上安装 docker Desktop时没有存储路径选择,而是直接默认安装到了系统 C盘,这样后续使用一些镜像后,日积月累C盘空间会越来越小。

本文记录在win10上安装 docker Desktop 后,修改镜像位置到 D盘。

docker desktop下载地址: Docker Desktop: The #1 Containerization Tool for Developers | Docker

docker安装到D盘

首先卸载之前安装的 docker

  • 使用符号链接将Docker安装到D盘

    cmd中执行命令: mklink /J "C:\Program Files\Docker" "D:\ Program Files\Docker"

    这里将在C盘上创建一个指向D盘的符号链接,使得访问C:\Program Files\Docker实际上会指向 D:\Program Files\Docker。 从而实现了在不改变路径的情况下修改安装路径的效果。

然后官网下载安装包进行安装 docker Desktop

但是安装完会发现c盘下还是会有 docker 目录。是因为符号链接只是创建了一个指向D盘的虚拟路径,但并不会删除或移动原始文件夹。

意味着在C盘上仍然会保留一份Docker文件夹的副本,但实际上它只是一个指向D盘的链接。因此,大部分Docker相关的数据和文件都会存储在D盘上。

wsl2

  • 查看本机安装的 wsl2 信息

docker info

  • wsl 版本查看

wsl --lis -v

安装 docker 后,docker 会自动创建 2 个发行版:

  • docker-desktop
  • docker-desktop-data

这里的 ubuntu-20.4 我是之前安装的

迁移wsl2 发行版 docker-desktop-data

  • 默认wsl镜像存储位置

迁移具体操作步骤:

  • 关闭运行中的 docker

  • 关闭所有发行版:wsl --shutdown

  • 将 docker-desktop-data 导出到

    目标路径: D:\softwareData\wsl\docker-desktop-data\docker-desktop-data.tar (注意,原有的 docker images 不会一起导出)

    cmd中执行: wsl --export docker-desktop-data D:\softwareData\wsl\docker-desktop-data\docker-desktop-data.tar

  • 注销 docker-desktop-data:wsl --unregister docker-desktop-data

  • 重新导入 docker-desktop-data 到要存放的文件夹:

    D:\softwareData\wsl\docker-desktop-data\

    cmd中执行: wsl --import docker-desktop-data D:\softwareData\wsl\docker-desktop-data\ D:\softwareData\wsl\docker-desktop-data\docker-desktop-data.tar --version 2

  • 迁移结果

迁移完成后,重启 docker,之后的相关的(镜像、容器、卷等相关数据)就会存储到D盘。这里 docker-desktop发行版较小就先不迁移了。

通过软连接方式将Docker的主要文件和数据存储在D盘上、然后迁移 wsl2 发行版 docker-desktop-data 到D盘后达到了减少C盘的占用空间的目的。

docker具体使用资料参考

前端初识Docker - 掘金 (juejin.cn)

Docker化一个前端基础开发环境:简洁高效的选择 - 掘金 (juejin.cn)

从零开始的Docker Desktop使用,Docker快速上手 ( ̄︶ ̄) Docker介绍和基础使用_寻_觅的博客-CSDN博客

镜像迁移资料参考

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置-腾讯云开发者社区-腾讯云 (tencent.com)

相关推荐
Heo几秒前
先把 Rollup 搞明白,再去学 Vite!
前端·javascript·面试
狐篱4 分钟前
vite 和 webpack 项目使用wasm-pack 生成的 npm 包
前端·webassembly
閞杺哋笨小孩7 分钟前
内容平台-SEO 索引提交
前端·seo
苏打水com8 分钟前
HTML/CSS 核心考点详解(字节跳动 ToB 中台场景)
java·前端·javascript
jingling5558 分钟前
react | 从零开始:使用 Create React App 创建你的第一个 React 项目
前端·javascript·react.js
CNRio10 分钟前
第二章-镜像深度解析:Docker的‘千层蛋糕‘魔法
运维·docker·容器
nnnnna12 分钟前
watch监听(一篇文章彻底搞懂watch监听)
前端·vue.js
科普瑞传感仪器16 分钟前
基于六维力传感器的机器人柔性装配,如何提升发动机零部件装配质量?
java·前端·人工智能·机器人·无人机
步步为营DotNet18 分钟前
深入理解IAsyncEnumerable:.NET中的异步迭代利器
服务器·前端·.net
JackieDYH20 分钟前
CSS滚动吸附详解:构建精准流畅的滚动体验-scroll-snap-type
前端·css