如何解决在默认端口(80/443)以外的端口上运行时Docker推送失败?
有时,如果您使用的端口不是默认端口(80/443),Docker推送操作将失败。
当你的Nginx配置文件缺少端口变量时,会出现这个问题(即,$server_port只在你不使用http/https的默认值时使用,分别是80或443):
proxy_set_header主机:$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 /;
proxy_set_header主机:$server_port;
proxy_read_timeout 900;
主机$http_host;为了docker客户端,#需要
proxy_set_header X-Real-IP $remote_addr;#传递真实客户端的IP
proxy_set_header X-Forwarded-Proto $scheme;
}
}
