我有一个虚拟机,docker中的nexus3,机器上设置了nginx,所以nginx是nexus3的代理服务器。现在我想安装第二个托管的 docker 存储库。
Nexus3 版本 - 3.62.0-01
Nexus3 docker运行命令:
docker run -dit --restart=unless-stopped -p 8081-8082:8081-8082 --name nexus -v nexus-data:/nexus-data sonatype/nexus3
nginx 配置文件:
server {
server_name *************;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/*************/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/*************/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location /v2 {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
proxy_pass http://127.0.0.1:8082;
}
location /v1 {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
proxy_pass http://127.0.0.1:8081;
}
# Regular Nexus requests
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
proxy_pass http://127.0.0.1:8081;
}
}
server {
if ($host = *************) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name *************;
server_name _;
return 404; # managed by Certbot
}
我添加了新的存储库并将新端口添加到nexus docker-container,它启动了,但是当我尝试做一些
docker login
或docker pull
时,它给了我502错误。
我想在 nexus 中创建 2 个不同的独立 docker 存储库,并使用 1 个服务器名称,如下所示: xxx.com/1-repo/ xxx.com/2-repo/
具有不同的访问权限。第一个用于匿名访问,第二个用于基本授权
我也遇到同样的问题,请问你解决了吗?