当前位置: 首页 > article >正文

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

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

docker save -o images.tar images:tag

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

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

docker login -u <username>
#输出密码或者token

#或者
docker login 也行

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

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

docker load -i images.tar images:tag
docker tag images:tag username/new_images:tag

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

上传:

docker push username/new_images:tag


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

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

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

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


有时候会报错,显示系统被限制压缩什么稀疏文件之类的
这时候现在先将文件改变稀疏属性,再压缩就可以了。

fsutil sparse setFlag "C:\Users\Lenovo\AppData\Local\Docker\wsl\data\ext4.vhdx" 0
fsutil sparse queryflag "C:\Users\Lenovo\AppData\Local\Docker\wsl\data\ext4.vhdx"


http://www.kler.cn/a/414453.html

相关文章:

  • 如何设置爬虫的异常处理?(代码示例)
  • 计算机网络知识点极简总结
  • Java开发工程师最新面试题库系列——Java基础部分(附答案)
  • 如何保护LabVIEW程序免遭反编译
  • MySQL 中的排序:索引排序与文件排序
  • 开源免费的 分布式配置中心 介绍 与 选型 建议
  • 【分布式】Redis分布式锁
  • C# Winform--ffmpeg图片合成视频以及参数设置
  • GPT视角下,如何在密码学研究中找到属于你的方向?
  • 大模型的认知记录:一次与4o讨论道德经的对话 - “我无法触碰“真实的花草树木”(无名),但通过语言(有名),我可以靠近人类的认知方式。”
  • Redis(配置文件属性解析)
  • vue3 使用XLSX导出
  • openssl编译安装升级为新版本
  • burpsuite(2)最新版burpsuite安装教程
  • k8s集群部署metrics-server
  • 浅谈网络 | 应用层之HTTP协议
  • 微知-git如何添加空目录的几种方式?(.gitkeep, githook, gitconfig)
  • 1.1 STM32_GPIO_基本知识
  • 【释放算力潜能】基于华为鲲鹏920 + 昇腾310B的VPX架构主板
  • 数学建模中的10大经典模型及其实际应用:从入门到精通!(一)线性规划模型
  • 【FPGA】UART串口通信
  • 深度学习视频编解码开源项目介绍【持续更新】
  • 新版Android Studio 一些配置细节
  • Algorithms and Data Structures in C++ by Mohammed Yasir Eramangadan
  • linux安全管理-防火墙配置
  • UNity将脚本中的文本提示显示在编辑器中