我正在尝试在 jwilder/nginx-proxy 后面运行 sonatype/nexus3,并将其用作 maven 和 docker 私有仓库。我想让 nginx 代理 nexus 子域到 nexus 容器的端口 8081,并将 docker 子域代理到同一容器的端口 8082。这可能吗?
首先,我nexus.mydomain.com
使用 Let's Encrypt 证书使 maven 部分像 TSL 一样正常工作:
docker run --restart=always --name nginx -d -p 80:80 -p 443:443 -v /root/certs/:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
docker run --restart=always -d -p 8081:8081 --name nexus -e VIRTUAL_HOST=nexus.mydomain.com -v /root/nexus-data:/nexus-data sonatype/nexus3
然后我意识到要运行一个 docker 私有存储库,我需要使用一个额外的端口。所以我在端口 8082 上创建了 docker repo,并使用保存的配置重新创建了容器,暴露了新端口和一个额外的子域:
docker run --restart=always -d -p 8081:8081 -p 8082:8082 --name nexus -e VIRTUAL_HOST=nexus.mydomain.com,docker.mydomain.com -v /root/nexus-data:/nexus-data sonatype/nexus3
我尝试覆盖安装卷的 nginx 配置/etc/nginx/vhost.d
,但没有成功。有什么线索吗?