我如何解决一个Docker推送失败,而不是在默认(80/443)的端口上运行?
有时候,如果你使用的不是默认端口(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;
}
}
