推送镜像报错unexpected status from PUT request to xxx 400 Bad Request

1.在将镜像推送到搭建的本地镜像仓库时,报错如下

只有部分镜像会产生此现象,推送其他镜像正常

FATA[0000] failed commit on ref "manifest-sha256:58a42dafdb79a0b5693e558eb4c74794e63408715d859ca3d74090daba9bbbd1": unexpected status from PUT request to https://192.168.2.190:5000/v2/xxx/manifests/sha256:58a42dafdb79a0b5693e558eb4c74794e63408715d859ca3d74090daba9bbbd1: 400 Bad Request

2.在排查仓库联通性、代理可用性、镜像完整性后考虑registry版本问题

查看当前registry版本

[root@test1 ~]# /usr/bin/registry --version
/usr/bin/registry github.com/docker/distribution v2.6.2+unknown

3.尝试升级版本

[root@test1 ~]# systemctl stop docker-distribution
[root@test1 ~]# cp back/registry /usr/bin/
cp: overwrite ‘/usr/bin/registry’? y
[root@test1 ~]# /usr/bin/registry --version
/usr/bin/registry github.com/docker/distribution 2.8.3
[root@test1 ~]# systemctl start docker-distribution

4.验证,解决

[root@test1 ~]# nerdctl push 192.168.2.190:5000/xxx/xxx:xx
INFO[0000] pushing as a reduced-platform image (application/vnd.docker.distribution.manifest.list.v2+json, sha256:6516ca99e4bece798b50ca6b3db3365d1daece0f52ed6e3ad8d151cb55ad643f) 
INFO[0000] host will try HTTPS first since it is configured for HTTP with a TLS configuration, consider changing host to HTTPS or removing unused TLS configuration  host="192.168.2.190:5000"
index-sha256:6516ca99e4bece798b50ca6b3db3365d1daece0f52ed6e3ad8d151cb55ad643f:    done           |++++++++++++++++++++++++++++++++++++++| 
manifest-sha256:58a42dafdb79a0b5693e558eb4c74794e63408715d859ca3d74090daba9bbbd1: done           |++++++++++++++++++++++++++++++++++++++| 
config-sha256:1ff56c33960b4bbe92c69770afdaeacc0f158009e5b2e59082b81c7a8ee0f6dd:   done           |++++++++++++++++++++++++++++++++++++++| 
elapsed: 0.1 s                                                                    total:  3.4 Ki (33.6 KiB/s)       

5.registry二进制文件,可到github搜索项目下载

含arm和amd架构,版本:2.8.3

链接:https://pan.baidu.com/s/1kUmQihjN-Js6CmhMfyegvw 
提取码:x2sa

 

 

根据提供的信息,"Unexpected HTTP status 413 Request Entity Too Large" 是一个基于Windows的Nginx报错。这个错误通常发生在客户端试图发送的HTTP请求的实体部分太大,超过了服务器的限制。这个错误提示表明服务器拒绝接受这个请求,因为请求的实体太大。这个错误通常是由于服务器的配置导致的。 要解决这个问题,可以尝试以下几个步骤: 1. 检查Nginx的配置文件:确认Nginx的配置文件中是否有设置请求实体大小的限制。可以尝试增加或修改配置文件中的"client_max_body_size"选项来增加请求实体的大小限制。将其设置为更大的值,以容纳请求实体的大小。 2. 重启Nginx服务:修改完配置文件后,需要重启Nginx服务才能使新的配置生效。可以使用命令行或者服务管理工具来重启Nginx。 3. 检查应用程序的设置:如果你在使用Nginx作为反向代理服务器,那么还需要检查被代理的应用程序的设置。有些应用程序也可能设置了请求实体的大小限制,需要确保应用程序的设置与Nginx的配置一致。 4. 调整客户端请求:如果你无法修改服务器的配置文件或者应用程序的设置,那么可以尝试调整客户端请求的实体部分大小。可以尝试缩小请求的实体大小,或者分块发送请求。 请注意,以上是一些常见的解决方法,具体的解决方法可能因你的具体情况而异。建议在尝试修改服务器配置之前备份相关文件,并确保你对服务器配置有足够的了解,以免引起其他问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

树下一少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值