Docker容器与主机中Nexus之间的连接
我正在尝试构建一个Docker映像,当它执行命令Docker容器与主机中Nexus之间的连接,docker,maven,containers,pom.xml,nexus,Docker,Maven,Containers,Pom.xml,Nexus,我正在尝试构建一个Docker映像,当它执行命令RUN mvn package时,它能够使用安装在笔记本中的Nexus存储库。我在pom.xml中添加了这一行: <repositories> <repository> <id>maven-group</id> <url>http://localhost:8081/repository/maven-group/</url> <
RUN mvn package
时,它能够使用安装在笔记本中的Nexus存储库。我在pom.xml中添加了这一行:
<repositories>
<repository>
<id>maven-group</id>
<url>http://localhost:8081/repository/maven-group/</url>
</repository>
</repositories>
马文集团
http://localhost:8081/repository/maven-团体/
然而,localhost应该替换为运行Nexus的主机名,但它位于容器主机(我的个人计算机)上。我应该在url中写些什么来指向我的回购协议?我的笔记本主机名无法从容器中解析。或者是否有其他方法连接到我的Nexus存储库
我应该在url中写些什么来指向我的回购协议
您可以通过docker inspect
命令将Gateway
值放在那里:
$docker检查您的\u docker\u容器
在网络部分的命令输出的最底部有:(我的容器的输出,你的可以不同)
以你为例:
<repositories>
<repository>
<id>maven-group</id>
<url>http://172.20.0.1:8081/repository/maven-group/</url>
</repository>
</repositories>
您可能会看到中描述的技术是否对您有所帮助;他们更关注于
docker运行
选项,但例如host.docker.internal
主机名,如果您不在本机Linux主机上,应该可以工作。David的答案是正确的。大卫,你应该回答这个问题,这样OP就能给你正确的答案。
<repositories>
<repository>
<id>maven-group</id>
<url>http://172.20.0.1:8081/repository/maven-group/</url>
</repository>
</repositories>
$ telnet 172.20.0.1 8081
Trying 172.20.0.1...
Connected to 172.20.0.1.
Escape character is '^]'.