当docker maven插件尝试构建图像时会发生什么?
我在docker容器中运行Jenkins,Jenkins尝试运行我的maven构建。作为构建的一部分,docker maven插件指示它构建docker映像 POM的这一部分如下所示当docker maven插件尝试构建图像时会发生什么?,maven,plugins,jenkins,permissions,docker,Maven,Plugins,Jenkins,Permissions,Docker,我在docker容器中运行Jenkins,Jenkins尝试运行我的maven构建。作为构建的一部分,docker maven插件指示它构建docker映像 POM的这一部分如下所示 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.3.8</versio
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.3.8</version>
<configuration>
<imageName>example</imageName>
<baseImage>java:latest</baseImage>
<skipDockerBuild>false</skipDockerBuild>
<cmd>["java", "-jar", "myLogThread-jar-with-dependencies.jar"]</cmd>
<resources>
<resource>
<directory>target/</directory>
<include>config.properties</include>
</resource>
<resource>
<directory>${project.build.directory}</directory>
<include>myLogThread-jar-with-dependencies.jar</include>
</resource>
</resources>
</configuration>
</plugin>
我可以进入正确的目录,Dockerfile就在那里
我还可以运行sudocker build.
,它将构建没有问题的映像
为什么maven构建失败了?正在向localhost:80发出什么请求?我如何纠正这一点,以便maven能够建立我的形象
注意:我已经在这个容器中安装了docker套接字和二进制文件这可以通过在Jenkins中添加
docker\u主机
环境变量来解决
按如下方式设置docker守护程序:
[/etc/sysconfig/docker]
OPTIONS="-H tcp://127.0.0.1:4243"
Jenkins作业(注入环境变量):
如Rajith Delantha所述,这为我解决了问题: 添加:
DOCKER\u OPTS='-G jenkins'
直接在/etc/default/DOCKER
中添加
DOCKER_OPTS="-H tcp://127.0.0.1:4243"
然后通过
sudo service docker restart重新启动docker服务
我也遇到了同样的问题,但是在我的本地机器上
我在Github线程中阅读了以下评论后得到:
它说:
解决方案(来自
,没有
仅适用于Debian):
如果docker组尚不存在,请添加该组
sudo groupadd docker
将连接的用户“${user}”添加到docker组。更改用户
名称以匹配您的首选用户。您可能需要注销并重新登录
为了使这一点生效,我们再次采取行动
sudo gpasswd-a${USER}docker
重新启动Docker守护进程
sudo服务docker重启
我能够通过结合两个投票结果的元素来解决这个问题 在
/etc/default/docker
中设置使用不同端口的选项
DOCKER_OPTS="-H tcp://127.0.0.1:4243"
重新启动Docker守护进程
sudo service docker restart
然后构建您的包
export DOCKER_HOST=tcp://127.0.0.1:4243
mvn clean package docker:build
我在竹业代理公司遇到了这个问题,但我认为詹金斯也是如此 将运行maven的用户添加到docker组。然后重新启动docker和运行maven的服务。服务运行时未加载组更改。就我而言:
sudo groupadd docker # if it does not exist
sudo usermod -a -G docker bamboo-user
sudo systemctl restart docker.service
sudo systemctl restart bamboo-agent.service
在确保运行
mvn
的同一用户使用docker ps
后,我仍然遇到同样的问题。
由于图像名称中的特殊字符,它看起来像一个bug。我通过从docker图像名称中删除破折号(-)(或任何特殊字符)解决了这个问题
尝试将存储库设置为“不同的名称”,然后进行检查
<configuration>
<repository>somename</repository>
</configuration>
名字
当我没有运行docker守护进程时,我遇到了类似的问题-重新启动docker工具箱,现在看起来更开心了我和Jenkins也遇到了同样的问题
将詹金斯添加到docker组
sudo usermod -aG docker jenkins
那就去詹金斯吧。你有没有想过?我遇到了同样的问题。请尝试直接在/etc/default/DOCKER中添加
DOCKER\u OPTS='-G jenkins'
。然后通过sudo service docker restart
重新启动docker服务我在完全相同的环境中遇到了相同的问题。有人知道解决办法吗?
sudo usermod -aG docker jenkins