idea docker push 很慢_如何用Docker打包Springboot的四种方式。

一:最基本的Dockerfile构建Springboot项目

在pom同目录下新建Dockerfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

将Springboot使用Maven打包,在终端中传参进去,进行构建Images。

=target/*.jar -t demo1/app .

给Springboot启动时候传环境变量或者shell参数

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar /app.jar ${0} ${@}"]

指定JVM参数和shell参数

"JAVA_OPTS=-Ddebug -Xmx128m" demo1/app --server.port

二:使用Idea可视化管理docker, 构建Springboot容器

这个在我另外一篇文章有讲到,都比较简单,有啥问题请留言。

三:使用Maven插件自动化构建Image

https://github.com/spotify/dockerfile-maven ,能力强的可以直接去看README.md。

简单介绍一下这个插件做啥用的

  1. 通过pom配置docker构建Image过程,参数等 。
  2. 封装了自动化build,push,run等Maven命令 。 *
  3. 需要依赖Dockerfile,Dockerfile与pom.xml位于同一个目录下。

在pom.xml同目录下创建Dockerfile

FROM openjdk:8-jre 
ENTRYPOINT ["/usr/bin/java", "-jar", "/usr/share/myservice/app.jar"]  
ARG JAR_FILE 
ADD target/${JAR_FILE} /usr/share/myservice/app.jar

在pom中添加


                

最后在Idea Maven插件Plugins点击docker:build即可。或者输入命令

mvn com.spotify:dockerfile-maven-plugin:build

四:使用Google的Maven插件进行容器管理(重头戏)

Google开源项目Jib,对比上面那个插件Jib的Start数为7.8k,dockerfile-maven 为2.4k。
maven 插件


                

配置maven docker hub账户和密码,在maven settings.xml中添加


      

在idea maven插件中点击或者maven命令 mvn compile jib:buildTar

idea docker push 很慢_如何用Docker打包Springboot的四种方式。_第1张图片

idea docker push 很慢_如何用Docker打包Springboot的四种方式。_第2张图片

可以看到推送远程成功,Jib不需要写Dockerfile只需要你在插件中定义构建类型,所以使用时请多参考github的文档.
都不是特别难,看自己喜好选择一种方式,有问题请留言。
觉得这篇文章对您有帮助,麻烦点个赞呗.

你可能感兴趣的:(idea,docker,push,很慢,springboot,pom文件指定jdk)