【docker系列】构建JDK及SpringBoot项目镜像
作为java程序员,通常情况下不会使用OpenJDK作为生产环境的JDK。然而Oracle官方是不提供标准镜像的,目前各个docker仓库中提供的JDK都是openjdk,如果希望使用oracle JDK需要我们自己来构建镜像。我们本节就来说明一下如何自定义Oracle JDK镜像,并在此基础上构建Spring Boot项目镜像。
作为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"]
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 .
注意命令最后的“.”不能少,代表Dockerfile在当前目录下
三、测试JDK:11镜像
执行docker run
验证镜像是否构建正确
docker run zimug/jdk:11
执行结果如下输出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","&"]
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 .
镜像构建完成后,可以使用docker images
命令查看镜像构建的结果
六、验证Springboot镜像
执行docker run
启动一个docker-test项目容器
docker run -d -p 8888:8888 --name spboot zimug/docker-test:1
容器启动后使用docker logs
查看Spring Boot项目启动日志,如下图所示SpringBoot项目启动成功,证明我们的镜像构建的正确无误。
更多推荐
所有评论(0)