Docker – maven在运行时连接到特定的存储库
我有一个镜像,需要在运行时连接到一个仓库,但它接触到Docker容器不能读取位于主机的〜/ .m2 / settings.xml文件。
有什么办法让docker现在在mavenconfiguration文件的位置? 或者实际上将mavenconfiguration文件导入容器?
关于反馈,我们提出了以下解决scheme。
settings.xml被添加到项目构build文件夹,DockerFile看起来像这样:
... RUN apt-get update RUN apt-get install -y maven ADD /path/to/settings.xml /root/.m2/settings.xml ...
并在运行脚本文件中添加了存储库(这将写入/ etc / hosts):
... docker run --add-host=myrepo.mycompany.com:<ip> ... ...
现在应用程序可以parsing运行时依赖关系!
您可以通过创build卷映射来完成此操作
docker run ... -v /path/on/host/settings.xml:/home/me/.m2/settings.xml ....
另请参见以下示例,其中存储库在容器中运行并通过链接访问:
- 如何dockerize Maven项目? 以及有多less种方法来完成它?
确保你不要在/ home / me的子目录中启动docker。 或者,当您在/ home / me / myproject中启动docker时,创build一个目录/ home / me / myproject / shareddir并将settings.xml复制到此目录。
- 如何禁用docker容器的根访问?
- 如何使用C中的Docker Rest API监视事件?
- 如何在Docker中使用ebtables?
- 如何为&&分隔的多个命令创build一个PID陷阱
- login:帐户不活跃。 当试图login到私人registry的联结
- 无法在docker-compose中使用variablesreplace
- 我怎样才能运行一个docker容器,并提交脚本完成后的变化?
- 复制文件从主机到docker集装箱,然后提交并推送
- 在Docker-image microsoft / aspnetcore-build:1.1.0-msbuild中构buildASP.NET Core 1.1 preview4项目