将代码打包成镜像并且上传到对应的仓库,在java中是有插件可以使用的 这里记录一下com.google.cloud.tools插件的使用以及通过命令的方式上传镜像到私有仓库或者公有仓库
1、java插件上传的方式
首先需要编写好dockerfile文件 这里是我自己编写的一个案例
dockerfile官网入口
FROM openjdk:alpine 基础镜像
MAINTAINER zhangxaioyong 镜像的管理人
COPY target/${JAR_FILE} app.jar jar包复制过去
EXPOSE 8082 暴露出8082端口
CMD ["java", "-version"] 执行命令
ENTRYPOINT ["java", "-jar", "demo-v1.0.0.jar"]
编写好了之后编写pom文件
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<from>
<image>openjdk:alpine</image> 这里是基础镜像的来源 我这里选择的是jdk alpine版本的 优点是小
</from>
<to>
<auth>
<username></username>
<password></password> 这里是你推送镜像到目标仓库的账号和密码配置
</auth>
<image>dockerhub.com/${project.artifactId}</image> 这里是目标仓库的位置 给个案例
<tags>${project.version}</tags>
</to>
<container>
<creationTime>USE_CURRENT_TIMESTAMP</creationTime>
<jvmFlags>
<jvmFlag>-Duser.timezone=Asia/Shanghai</jvmFlag>
<jvmFlag>-Dfile.encoding=UTF-8</jvmFlag>
<jvmFlag>-Xdebug</jvmFlag>
<jvmFlag>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081</jvmFlag>
</jvmFlags>
<ports>
<port>80</port>
<port>8081</port>
</ports>
</container>
</configuration>
</plugin>
![](https://img-blog.csdnimg.cn/20210706104529841.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0g4MzgwNzEzMzI=,size_16,color_FFFFFF,t_70)
2、命令上传的方式
先编写好dockerfile文件 上面有说到这里不再赘述,这里我们需要一个docker环境,将我们的项目放在docker环境下面,然后执行如下命令
docker build -t 自定义名字 . 这里的.表示的是dockerfile的那个目录
执行完这个命令就可以了
这里记录一个问题,前几天在接触这个的时候 用的是公司的服务器 我需要将文件上传上去并且解压, 我用的是本地搭建一个demo 将资源放到public的目录下边 然后执行wget命令 得到资源解压。