上传镜像docker hub登不上和docker desktop的etx4.vhdx占用空间很大等解决办法

平时使用docker一般都在Linux服务器上,但这次需要将镜像上传到docker hub上,但是服务器上一直无法登录本人的账号,(这里的问题应该docker 网络配置中没有开代理的问题,因服务器上有其他用户使用,不可能直接更改docker的网络配置。。。),于是想到了将服务器上的镜像保存为.tar文件下载到本地,再在本地使用docker desk top + wsl 将其上传到docker hub。

镜像保存为文件,命令为:

bash 复制代码
docker save -o images.tar images:tag

这里因为我之前安装过docker desktop,但是我是用了一些工具将其卸载了导致之前重新安装之后一直无法使用。这次才发现是其路径没有加载到用户路径,(实际上安装的时候他会自动加载的,应该是我之前卸载的时候直接把他注册表删除了,导致后面安装只加载了系统变量),后面添加用户系统变量之后果断成功了。

先在power shell 上登录自己账号:这里有时候也会被拒绝连接,只需要将防火墙关闭就可以了。

有时通过密码登不上,这时候可以使用token登录。

bash 复制代码
docker login -u <username>
#输出密码或者token

#或者
docker login 也行

这里的username就是你看到的那个,不是什么邮箱或者其他的。token在account setting里面生成就可以。

之后就可以将下载好的.tar文件重现加载为镜像文件了,打上tag。

bash 复制代码
docker load -i images.tar images:tag
bash 复制代码
docker tag images:tag username/new_images:tag

这里的new_images就是你在docker hub上创建的仓库的名称

上传:

bash 复制代码
docker push username/new_images:tag

上传成功之后删除镜像之后发现c盘一下没了30GB(我的镜像17GB),通过spacesniffer找到了是etx4.vhdx占用了。

了解了一下这个etx4.vhdx,大概的意思就是他是一个虚拟磁盘,就是只会变大不会变小,假如你某个时刻需要10GB的空间,他这时候会占用10GB的空间,但是当你不需要的时候,他还会占那么多,大概就是这个意思。

查了一些资料,这个可以通过压缩释放空间。如何缩减Docker Desktop占用磁盘空间-阿里云开发者社区

压缩的时候使用diskaprt:

bash 复制代码
dispart 
select vdisk file="C:\Users\Lenovo\AppData\Local\Docker\wsl\data\ext4.vhdx" #这里""里是你的路径
compact vdisk

有时候会报错,显示系统被限制压缩什么稀疏文件之类的

这时候现在先将文件改变稀疏属性,再压缩就可以了。

bash 复制代码
fsutil sparse setFlag "C:\Users\Lenovo\AppData\Local\Docker\wsl\data\ext4.vhdx" 0
bash 复制代码
fsutil sparse queryflag "C:\Users\Lenovo\AppData\Local\Docker\wsl\data\ext4.vhdx"
相关推荐
szxinmai主板定制专家2 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
叼烟扛炮3 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
Decay__3 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝3 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
DarkAthena4 小时前
wslc ps 卡死的排查:一次「停容器不停 VM」引发的连环故障
docker
NailiConveyor5 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
小沈同学呀5 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
Lsetea5 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若1235 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
开开心心就好5 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节