作用:简化项目制作docker镜像的步骤;
前提:制作镜像之前,首先需要镜像仓库,若是自己的项目,可以在docker中搭建一个私有的镜像仓库;
将springboot项目打成镜像,发布到私有仓库
- 使用maven中配置插件的使用
<properties>
<!--镜像仓库地址(docker镜像仓库的端口默认为5000)就是在daemon.json文件中配置的地址-->
<registryUrl>XXX.XXX.XXX.XX:5000</registryUrl>
<!--镜像仓库命名空间-->
<registryNamespace>xaingmu/backend</registryNamespace>
<!--镜像仓库账号-->
<registryUsername>***</registryUsername>
<!--镜像仓库密码-->
<registryPassword>***</registryPassword>
<!-- 镜像版本-->
<version>1.0</version>
</properties>
<plugin>
<!--jib插件-->
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.3.0</version>
<configuration>
<from>
<!--基础镜像配置(命名以docker镜像的中的命名为准)相当于做dockerFile时继承的基础镜像一样-->
<image>${registryUrl}/java:8</image>
</from>
<to>
<!--将项目做成镜像后的镜像名称-->
<image>${registryUrl}/${registryNamespace}/${project.name}</image>
<tags>
<!--版本-->
<tag>${version}</tag>
</tags>
</to>
<!--增加allowInsecureRegistries,使jib插件支持http协议连接镜像仓库(安全起见,默认是关闭的)-->
<allowInsecureRegistries>true</allowInsecureRegistries>
<container>
<!--项目主启动类的位置-->
<mainClass>com.fpwis.monitor_management.MonitorManagementApplication</mainClass>
<jvmFlags>
<jvmFlag>-Duser.timezone=Asia/Shanghai</jvmFlag>
</jvmFlags>
<!--设定容器时间-->
<creationTime>USE_CURRENT_TIMESTAMP</creationTime>
</container>
</configuration>
</plugin>
- maven中配置好以上信息后,就可以直接发布到私有镜像仓库了;
- 发布之前一定要确保当前需要上传的服务器的docker镜像列表中,或者docker私服中存在java:8,就是上面的基础镜像;一般情况下在服务器的docker镜像列表中存在即可;
- 然后在控制台使用发布命令
- 成功之后,项目已经发布到了私有镜像仓库中,若是需要在docker中使用,只需要在私有仓库中拉取即可,红线框起来的就是镜像的名称,生成规则就是在maven中image的配置;
docker pull 镜像名称
可以将私服中的镜像pull到docker镜像列表中,就可以使用了;
6. 在docker中将镜像发布到私服仓库中
docker push 镜像名称即可;