我正在尝试构建一个可以使用Nexus存储库的Docker镜像,当它执行命令RUN mvn package
时,该存储库安装在我的笔记本中。我将此行添加到我的pom.xml中:
<repositories>
<repository>
<id>maven-group</id>
<url>http://localhost:8081/repository/maven-group/</url>
</repository>
</repositories>
但是,应将localhost替换为运行Nexus的主机名,但它应位于容器主机(我的个人计算机)上。我应该在网址中写些什么来指向我的仓库?我的笔记本主机名无法在容器内解析。还是有其他方法可以连接到我的Nexus存储库?
最佳答案
What should I write in the url to point to my repo?
您可以通过
Gateway
命令在其中放置docker inspect
值:$ docker inspect your_docker_container
在网络部分的命令输出的最底部是:(我的容器的输出,您的容器可以不同)"Gateway": "172.20.0.1"
因此,对于您的示例:<repositories>
<repository>
<id>maven-group</id>
<url>http://172.20.0.1:8081/repository/maven-group/</url>
</repository>
</repositories>
要确保100%确保可以使用telnet在此网关计算机中打开8081端口(从容器中运行):$ telnet 172.20.0.1 8081
Trying 172.20.0.1...
Connected to 172.20.0.1.
Escape character is '^]'.
关于docker - Docker容器与主机中的Nexus之间的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63444909/