【docker系列】构建JDK及SpringBoot项目镜像

举报
字母哥哥 发表于 2022/05/23 23:22:07 2022/05/23
【摘要】 作为java程序员,通常情况下不会使用OpenJDK作为生产环境的JDK。然而Oracle官方是不提供标准镜像的,目前各个docker仓库中提供的JDK都是openjdk,如果希望使用oracle JDK...

作为java程序员,通常情况下不会使用OpenJDK作为生产环境的JDK。然而Oracle官方是不提供标准镜像的,目前各个docker仓库中提供的JDK都是openjdk,如果希望使用oracle JDK需要我们自己来构建镜像。
我们本节就来说明一下如何自定义Oracle JDK镜像,并在此基础上构建Spring Boot项目镜像。

本文中涉及的Dockerfile及JDK11安装包下载-点这里.

一、书写JDK:11的Dokcerfile

FROM centos:7
LABEL maintainer="zimug"
COPY jdk-11.0.13_linux-x64_bin.tar.gz /usr/local/
RUN tar -zxvf /usr/local/jdk-11.0.13_linux-x64_bin.tar.gz -C /usr/local/

ENV JAVA_HOME /usr/local/jdk-11.0.13/
ENV PATH $JAVA_HOME/bin:$PATH

CMD ["java","-version"]

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • FROM centos:7 :使用CentOS7作为基础镜像
  • LABEL maintainer="zimug" : 维护人信息zimug,还可以写邮箱等联系方式
  • COPY jdk-11.0.13_linux-x64_bin.tar.gz /usr/local/ 将JDK11安装包拷贝到 /usr/local/镜像路径
  • RUN tar -zxvf 解压缩,解压之后的JDK路径为/usr/local/jdk-11.0.13,也就是JAVA_HOME路径
  • ENV配置java 环境变量
  • CMD ["java","-version"]在启动镜像的时候输出版本信息

二、构建JDK:11镜像

新建一个目录,将jdk-11.0.13_linux-x64_bin.tar.gz 和上文中的Dockerfile放在同一个目录下面。在该目录下执行构建命令生成镜像

docker build -t zimug/jdk:11  .

  
 
  • 1

注意命令最后的“.”不能少,代表Dockerfile在当前目录下

三、测试JDK:11镜像

执行docker run验证镜像是否构建正确

docker run zimug/jdk:11

  
 
  • 1

执行结果如下输出java -version 信息证明JDK镜像构建成功

四、书写SpringBoot项目Dockerfile

创建一个SpringBoot项目(项目启动端口设置为8888),使用JDK11版本进行编译打包,最终打包结果是docker-test-1.0.jar

FROM zimug/jdk:11 
COPY docker-test-1.0.jar /root
ENTRYPOINT ["nohup","java","-jar","/root/docker-test-1.0.jar","&"]

  
 
  • 1
  • 2
  • 3
  • FROM zimug/jdk:11 在上文JDK11的基础上构建SpringBoot项目镜像
  • COPY docker-test-1.0.jar /root 将SpringBoot项目的jar包(docker-test-1.0.jar)复制到镜像/root目录下
  • ENTRYPOINT 指定springboot项目启动命令

五、构建Springboot项目镜像

新建一个目录,将docker-test-1.0.jar` 和上文第四小节中的Dockerfile放在同一个目录下面。在该目录下执行构建命令生成spring boot 项目镜像

docker build -t zimug/docker-test:1  .

  
 
  • 1

镜像构建完成后,可以使用docker images命令查看镜像构建的结果

六、验证Springboot镜像

执行docker run启动一个docker-test项目容器

docker run -d -p 8888:8888 --name spboot  zimug/docker-test:1

  
 
  • 1

容器启动后使用docker logs查看Spring Boot项目启动日志,如下图所示SpringBoot项目启动成功,证明我们的镜像构建的正确无误。

文章来源: zimug.blog.csdn.net,作者:字母哥哥,版权归原作者所有,如需转载,请联系作者。

原文链接:zimug.blog.csdn.net/article/details/124920298

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。