如何解决Docker容器与主机中的Nexus之间的连接
我正在尝试构建一个Docker映像,该映像可以在执行命令RUN mvn package
时使用安装在笔记本中的Nexus存储库。我将此行添加到了pom.xml:
<repositories>
<repository>
<id>maven-group</id>
<url>http://localhost:8081/repository/maven-group/</url>
</repository>
</repositories>
但是,应将localhost替换为运行Nexus的主机名,但它应位于容器主机(我的个人计算机)上。我应该在网址中写些什么来指向我的仓库?我的笔记本主机名无法在容器内解析。还是有其他方法可以连接到我的Nexus存储库?
解决方法
我应该在网址中写些什么来指向我的仓库?
您可以在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 '^]'.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。