我在一个docker容器中运行Jenkins,Jenkins尝试运行我的maven构建.作为构建的一部分,docker maven插件指示它构建一个docker镜像.
POM的那部分在下面.
<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>
Run Code Online (Sandbox Code Playgroud)
maven构建一直运行,直到它尝试构建映像,此时出现以下错误消息:
[INFO] Building image example
[INFO] I/O exception (java.io.IOException) caught when processing request to {}->unix://localhost:80: Permission denied
Run Code Online (Sandbox Code Playgroud)
我可以进入正确的目录,Dockerfile就在那里.
我也可以运行sudo docker build .,它将构建没有问题的图像.
为什么maven构建失败?对localhost有什么要求:80?我如何纠正这个,以便maven可以建立我的形象?
注意:我已将docker socket和binary安装在此容器中