windows Docker 搭建仓库
打开docker desktop 。
打开windows cmd窗口或powershell窗口。
输入"docker run -d -p 5000:5000 --name test registry:2 "运行一个名字叫test的registry容器。
idea配置springboot项目的docker插件
在pom.xml中的plugins中加入下面代码
<!-- docker的maven插件,官网:https://github.com/spotify/docker‐maven‐plugin -->
<!-- Dockerfile maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.maven.plugin.version}</version>
<executions>
<execution>
<id>default</id>
<goals>
<!--如果package时不想用docker打包,就注释掉这个goal-->
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<!--仓库地址-->
<registryUrl>${docker.repostory}</registryUrl>
<!--docker api地址,构建镜像是通过api调用在192.168.245.133上构建,并推送到registryUrl上-->
<dockerHost>http://127.0.0.1:2375</dockerHost>
<!--镜像名称-->
<imageName>${docker.repostory}/${docker.registry.name}/${project.name}:${project.version}</imageName>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<!--基础镜像-->
<baseImage>java</baseImage>
<!--是否推送镜像-->
<pushImage>true</pushImage>
<!--推送后是否覆盖已存在的标签镜像-->
<forceTags>true</forceTags>
<exposes>8080</exposes>
<!--资源,类似Dockerfile里的 ADD -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<!--启动容器里执行的命令:注意这里的格式,格式不对,会运行不成功的-->
<!-- <entryPoint>["java", "-version"]</entryPoint>-->
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
</configuration>
</plugin>
idea打包并推送镜像到本地仓库
执行maven的clear和install完成编译和打包.
执行maven的插件docker 中的build,
可以看见target目录中有docker文件夹和下面的dockerfile文件
执行maven插件中的docker push。结果报错了。
解决办法
代开磁盘,进入当前用户的目录下,找到.docker目录
点击进入该目录,可以看到config.json文件。使用notepad++编辑
将什么图中的credsStore改为credStore。注意去掉中间的s字母。
再执行idea中的docker push,就可以了。
注意如果失败,请检查你的registry容器是否启动。