docker - Docker容器与主机中的Nexus之间的连接

标签 docker maven containers pom.xml nexus

我正在尝试构建一个可以使用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/

相关文章:

docker - .dockerignore在子目录上不起作用…仍然在镜像中结束

java - JAXP00010004 和 java.lang.OutOfMemoryError : GC overhead limit exceeded

java - maven将子文件夹从目标复制到外部目录

swift - 运行Kitura Docker Image导致libmysqlclient.so.18错误

elasticsearch - Docker 上的 Kibana 无法连接到 Elasticsearch

node.js - 为 NodeJS 应用程序构建 docker 时找不到模块错误

Maven 忽略子模块配置文件中 pluginManagement 的插件版本

docker - cAdvisor:如何使用远程Docker API运行它?

css - 向下滚动时展开 DIV 到页面底部

xcode - 当容器 View Controller 中发生某些情况时,如何更新 View Controller ?