我如何解决一个Docker推送失败,而不是在默认(80/443)的端口上运行?

JFrog支持
2023-01-22 11

有时候,如果你使用的不是默认端口(80/443),Docker推送操作会失败。当你的Nginx配置文件缺少端口变量时,可能会出现这个问题(即,$server_port仅在你不使用http/https的默认值时使用,分别为80或443):

$ Host:$server_port;

下面是一个Nginx的工作配置示例:

服务器{

听5000;

server_name rdfactory;

access_log /var/log/nginx/rdfactory-access.log;

error_log /var/log/nginx/rdfactory-error.log;

client_max_body_size 0;#禁用任何限制以避免使用HTTP 413上传大型图像

chunked_transfer_encoding;

位置/ {

proxy_pass http://rdfactory: 8081 / artifactory / api /码头工人/ docker-local /;

$ Host:$server_port;

proxy_read_timeout 900;

proxy_set_header $http_host;#需要为docker客户端

proxy_set_header X-Real-IP $remote_addr#传递真实客户端的IP

proxy_set_header x - forward - proto $scheme;

}

}