Docker - maven在运行时连接到特定的存储库

bsf*_*ira 6 java xml maven docker

我有一个图像需要在运行时连接到存储库,但是它会使Docker容器无法读取位于主机中的〜/ .m2/settings.xml文件.

有没有办法让docker现在maven配置文件所在的位置?或者实际上将maven配置文件导入容器?

Mar*_*nor 7

您可以通过创建卷映射来完成此操作

docker run ... -v /path/on/host/settings.xml:/home/me/.m2/settings.xml ....
Run Code Online (Sandbox Code Playgroud)

另请参阅以下示例,其中存储库在容器中运行并通过链接访问:


bsf*_*ira 7

关于反馈,我们提出了以下解决方案.

settings.xml已添加到项目构建文件夹中,DockerFile如下所示:

...
RUN apt-get update
RUN apt-get install -y maven 
ADD /path/to/settings.xml /root/.m2/settings.xml
...
Run Code Online (Sandbox Code Playgroud)

在运行脚本文件中我们添加了存储库(这将写在/ etc/hosts上):

...
docker run --add-host=myrepo.mycompany.com:<ip> ...
...
Run Code Online (Sandbox Code Playgroud)

现在应用程序可以解决运行时依赖性!