这个问题是因为maven向docker仓库发送构建和推送的端口不是5000端口,正确的端口应该是配置文件中设置的端口,docker安装完成之后默认没有开启远程端口,需要手动修改配置文件开启远程端口。开启方法如下
我的系统是centos 7的
vi /lib/systemd/system/docker.service
在ExecStart下,增加 -H tcp://0.0.0.0:2375
保存,然后输入以下命令,重新加载配置和重启
systemctl daemon-reload
systemctl restart docker
关闭防火墙或者开放2375端口
到这里,应该就可以推送了
我的maven pom.xml配置如下
<properties>
<java.version>1.8</java.version>
<docker.image.prefix>192.168.0.105</docker.image.prefix>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<dockerHost>http://${docker.image.prefix}:2375</dockerHost>
<imageName>${docker.image.prefix}:5000/${project.artifactId}</imageName>
<!--docker文件所在的目录-->
<dockerDirectory>./</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
mvn clean package docker:build -DskipTests