如何使用我自己的global settings.xml设置正式的maven docker映像?

如何使用我自己的global settings.xml设置正式的maven docker映像?,maven,docker,Maven,Docker,我第一次在GitLab CI中使用docker。我很高兴GitLab为我做了大部分工作。 我使用的是maven docker官方图片maven:3-jdk-8() 现在,我想在docker映像上设置全局settings.xml,该映像包含部署阶段nexus服务器的数据 我试图遵循以下指南:,但不幸的是,我无法连接到docker映像的bash root@build:~# docker run maven:3-jdk-8 /bin/bash -it bash: cannot set terminal

我第一次在GitLab CI中使用docker。我很高兴GitLab为我做了大部分工作。 我使用的是maven docker官方图片
maven:3-jdk-8
()

现在,我想在docker映像上设置全局
settings.xml
,该映像包含部署阶段nexus服务器的数据

我试图遵循以下指南:,但不幸的是,我无法连接到docker映像的bash

root@build:~# docker run maven:3-jdk-8 /bin/bash -it
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
root@7d62e8b066f7:/# exit

如何将自己的全局
settings.xml
添加到我的maven docker映像中?

您可以使用
Dockerfile
扩展现有的maven docker映像来创建/构建您自己的映像,即您的案例中的
maven:3-jdk-8

您可以在其中添加一行,如下所示:-

COPY settings.xml /usr/share/maven/ref/
您可以有多个
设置。xml
以不同的方式命名(显然),您可以根据需要使用它们

比如
mvn-s/usr/share/maven/ref/settings-.xml


目标和使用情况不同的人

这座建筑似乎已经运行了。新映像将列在主机系统上。虽然我收到了错误消息
拉docker image maven:3-jdk-8-Nexus。。。错误:作业失败:在执行应在该映像上执行的gitlab ci作业时,未找到maven:3-jdk-8-Nexus的守护进程的错误响应。好的,我认为这是gitlab ci运行程序的配置问题。我会回来报告:)您可以在gitlab docker Repositories创建自己的映像,并使用gitlab ciI提取相同的映像。可以通过向
/etc/gitlab runner/config.toml
添加
pull\u policy=“if not present”
来解决此问题。现在我遇到了另一个问题,我被拒绝运行在作业期间下载的可执行文件。一旦我解决了这个问题,我就可以告诉您它是否适用于
settings.xml
:)