docker push to private registry:如何不指定端口

问题描述 投票:5回答:1

在每个this docker instructions部署一个私有注册表时,我必须在CLI中指定端口来推送图像,如下所示:

对于http(80),命令是:docker push host.com:80/alpine。对于https(443),命令必须是:docker push host.com:443/alpine。如果我将端口映射到5000,则命令为:docker push host.com:5000/alpine

期望的效果是这样的简单推动:docker push host.com/alpine

当我启动注册表容器时,如何构造docker run full命令来实现此目的?

docker docker-registry
1个回答
0
投票

默认端口是443,据我所知,它无法更改。但您可以在另一台主机上设置NGINX(或HAProxy)并将其配置为代理您对注册表的所有请求,如下所示:

server {
  listen *:443 ssl;
  server_name registry.company.com;
  proxy_set_header Host upload.expert;
  location / {
    proxy_pass http://private.registry.company.com:5000;
  }
}

然后只是docker push registry.company.com/alpine

© www.soinside.com 2019 - 2024. All rights reserved.