具体异常提示:

[root@xxxx conf.d]# docker push registry.hy.com/nginx:latest

The push refers to repository [registry.hy.com/nginx]
9959a332cf6e: Preparing 
f7e00b807643: Preparing 
f8e880dfc4ef: Preparing 
788e89a4d186: Preparing 
43f4e41372e4: Preparing 
e81bff2725db: Waiting 
error parsing HTTP 404 response body: invalid character 'p' after top-level value: "404 page not found\n"

原因:

nginx配置registry.hy.com为http请求,默认80端口。

nginx配置了其他443 ssl端口的域名, 在docker push/pull时候,走的是https请求,所以nginx会将请求转发到nginx 443端口的相关配置中,而不是转发到registry.hy.com配置中,最终出现404提示

解决方案:

方式1: 将其他443端口配置,修改为非443端口。(不推荐)

方式2: 将registry.hy.com配置,变为https请求(443端口)(推荐)

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐