惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
月光博客
月光博客
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog RSS Feed
博客园 - Franky
爱范儿
爱范儿

Blog Feed

基于 Debezium + Kafka 实现 CDC - 字节星球 gRPC Resolver 实现 Nacos 订阅 - 字节星球 基于 TCC 写一个所谓的分布式事务#2 - 字节星球 且慢!先来实现分布式锁! - 字节星球 基于 TCC 写一个所谓的分布式事务#1 - 字节星球 写一个所谓的通用状态机 - 字节星球 锐评简笔记/某站商店/某彦 - 字节星球 浅谈 DDD 领域驱动设计架构 - 字节星球 浅谈分布式事务#2 - 字节星球 浅谈分布式事务 - 字节星球 聊聊大学里面的奇葩 - 字节星球 MySQL 加锁机制分析与死锁排查 - 字节星球 Golang pprof 案例实战 - 字节星球 Golang 手写一个 Channel - 字节星球 字节星球终于全栈上新! - 字节星球 欢迎试用 TodoList - 字节星球 记一次“说走就走”的成都行 - 字节星球 流程中心使用指南 - 字节星球 微分方程小手册 - 字节星球 近期小记 - 字节星球 字节星球(肥柴之家)搬家了! - 字节星球 如何顺利注册ChatGPT? - 字节星球 披着CLion的外衣实则在讲CMake - 字节星球 守望之墓/电子骨灰盒 - 字节星球 Python笔记 第三章 - 字节星球 WePlanet现已发布! - 字节星球 简单选择排序和堆排序 - 字节星球 希尔排序 - 字节星球 插入排序 - 字节星球 快速排序 - 字节星球
Docker Desktop修改默认存储路径 - 字节星球
2023-09-16 · via Blog Feed

2023/9/16 13:06:00admin17501 阅读0 点赞15 评论

前言

最近二开了不少项目,基本都是用Docker部署,所以之前在电脑上装了Docker,不过在 Windows 上安装 Docker Desktop 后,Docker默认是把镜像保存到 C:\Users\<用户>\AppData\Local\Docker\wsl\data\ 路径的ext4.vhdx文件下,在C盘放这些无关紧要的文件属实是浪费,所以整理了一下方法,把这些文件移动到其他磁盘去。

修改WSL

首次启动 Docker Desktop 会提示安装 WSL,没有WSL则无法启动 Docker Engine 服务。因为目前的 docker 依附 WSL 来进行文件映射,所以通过 WSL 来修改 docker 的文件映射路径,就可以把这些文件移动到其他磁盘中。

默认情况下,Docker Desktop for Window 会创建如下两个发行版:

  1. docker-desktop (distro/ext4.vhdx)
  2. docker-desktop-data (data/ext4.vhdx)

目前WSL2已经全量发布,WSL2 下 docker-desktop-data 通常位于以下位置: C:\Users\<你当前用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx,我电脑中这个文件夹高达50GB+,完全是浪费C盘空间!

在开始操作前,请先退出Docker Desktop,然后在terminal中输入wsl --list -v,确保两个服务都是停止状态:

image.png

备份镜像

分别输入以下命令备份WSL,后面的备份路径可以自行修改,我这里是备份到了G磁盘:

SH

wsl --export docker-desktop G:\docker-desktop.tar
wsl --export docker-desktop-data G:\docker-desktop-data.tar

取消注册

SH

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

备份导入

执行命令前,请先更改命令中的G:\docker-desktop.tarG:\docker-desktop-data.tar为自己之前备份的路径,挂载的路径G:\docker\desktopG:\docker\data也需要改为自己想要挂载的路径(需提前创建好对应的文件夹,不然会提示找不到目录):

SH

wsl --import docker-desktop "G:\docker\desktop" "G:\docker-desktop.tar" --version 2
wsl --import docker-desktop-data "G:\docker\data" "G:\docker-desktop-data.tar" --version 2

测试

输入wsl --list -v查看其输出是否和修改之前一样,正常情况下会出现两个发行版,即:docker-desktopdocker-desktop-data

然后启动你的Docker Desktop看看是否能够正常运行。之后制作或者拉取的镜像都会存储在新的目录,而不是C盘中的默认路径。

Docker清理缓存

最后再搬运一个清理docker缓存的教程~

在使用 docker build 构建镜像时,Docker 会按照 Dockerfile 中定义的步骤逐步生成 Docker 镜像。而镜像生成的过程中,每一步骤所生成的结果都会被缓存(cache)下来,以便下次镜像生成时不必再重新执行同一步骤以提高构建镜像的速度。

使用 --no-cache

TEXT

docker build --no-cache .

使用 docker system prune

使用 docker system prune 命令来清理不再使用的资源,包括停止的容器、未被标记的镜像、未使用的网络和未使用的数据卷。

TEXT

# 清理所有不再使用的资源
docker system prune
# 清理更加彻底,将未使用 Docker 镜像都删掉
docker system prune -a

Henry 23-09-16