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

news/2024/12/13 14:47:25

平时使用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"


https://dhexx.cn/news/show-5466349.html

相关文章

Mac——鼠标增强插件Mos

功能说明&#xff1a; 能够解决鼠标断续、不灵敏等鼠标问题。 下载地址&#xff1a; Mac——鼠标增强插件Mos

38 基于单片机的宠物喂食(ESP8266、红外、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机&#xff0c;采用L298N驱动连接P2.3和P2.4口进行电机驱动&#xff0c; 然后串口连接P3.0和P3.1模拟ESP8266&#xff0c; 红外传感器连接ADC0832数模转换器连接单片机的P1.0~P1.…

无星的微前端之旅(四)——qiankun线上服务代理到本地

这个方式其实是我在上家公司的时候体验过&#xff0c;觉得确实很有意思。 所以这里来逆推一下实现方式。 解决了什么痛点 1.开发一个模块&#xff0c;需要启动2-3个项目 在微前端的开发过程中&#xff0c;如果我们要在主应用中看效果&#xff0c;我们至少需要启动一个主应用&am…

redis cluster 3主3从部署方案

文章目录 1 Redis Cluster 介绍1 Redis cluster 架构2 Redis cluster的工作原理2.1 数据分区2.2 集群通信2.3 集群伸缩2.3.1 集群扩容2.3.2 集群缩容 2.4 故障转移2.4.1 主观下线2.4.2 客观下线 3 Redis Cluster 部署架构说明3.1 部署方式介绍3.2 实战案例&#xff1a;基于Redi…

Envoy 源码解析(一):Envoy 整体架构、Envoy 的初始化

本文基于 Envoy 1.31.0 版本进行源码学习 1、Envoy 整体架构 1&#xff09;、核心组件 Envoy 包含以下四个核心组件&#xff1a; Listener&#xff08;监听器&#xff09;&#xff1a;定义了 Envoy 如何处理入站请求。一旦连接建立&#xff0c;请求会被传递给一组过滤器进行处…

golang debug调试

1. 本地调试 1&#xff1a;Add Configurations 添加配置文件&#xff08;Run kind &#xff1a;Directory&#xff09; 2&#xff1a;进入run运行窗口 3&#xff1a;debug断点调试模式 1. Resume Program (继续运行) 图标: ▶️ 或 ► 快捷键: F9&#xff08;Windows/Linux&a…

10个Word自动化办公脚本

在日常工作和学习中&#xff0c;我们常常需要处理Word文档&#xff08;.docx&#xff09;。 Python提供了强大的库&#xff0c;如python-docx&#xff0c;使我们能够轻松地进行文档创建、编辑和格式化等操作。本文将分享10个使用Python编写的Word自动化脚本&#xff0c;帮助新…

React进阶面试题目(三)

如何在 React 中实现滚动动画&#xff1f; 在 React 中实现滚动动画可以通过多种方式实现&#xff0c;以下是一个基本的实现步骤&#xff1a; 构建组件&#xff1a;首先构建需要展示滚动动画的组件&#xff0c;例如一个 About 组件&#xff0c;它包含一些文本或元素。监听滚动…

Flutter Container设置padding,margin,背景色,边框

定义&#xff1a;Container是一个组件&#xff0c;当我们需要对基础组件&#xff0c;设置padding&#xff0c;margin&#xff0c;边框&#xff0c;背景色等元素时&#xff0c;就需要通过包裹Container的方式实现。具体如下&#xff1a; 1.magin属性设置&#xff1a; Cont…

在shardingsphere执行存储过程

环境&#xff1a; springboot&#xff1a;2.5.2 数据库&#xff1a;Kingbase金仓V8R6 依赖&#xff1a; <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId></depende…