按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
完整命令来实现此目的?
答案 0 :(得分: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