Docker制作Java8环境镜像
这里介绍如何制作一个java8环境的镜像,用于运行java应用程序。
1.安装包
这里采用OpenJDK,不会涉及版本问题。
同样思源中文字体也是开源的,没有版权问题。
OpenJDK8:OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz
wget安装包:wget-1.14-18.el7_6.1.x86_64.rpm
思源中文字体:09_SourceHanSerifSC.zip
上面三个文件全部放入
/opt/openjdk_images
目录下。
2.准备
OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz 解压后目录为 jdk8u382-b05 ,这里提前创建openjdk环境变量文件,方便镜像制作时直接拷贝进去。
创建openjdk环境变量文件:
tee /opt/openjdk_images/openjdk.sh <<\EOF
exportJAVA_HOME=/opt/jdk8u382-b05
exportCLASSPATH=.:$JAVA_HIOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$PATH:$JAVA_HOME/bin
EOF
部分java应用程序,可能会涉及中文乱码问题,需要安装中文字体,这里采用的是开源的思源中文字体,思源字体包提前解压,方便镜像制作时直接拷贝进去。
解压思源字体包:
unzip /opt/openjdk_images/09_SourceHanSerifSC.zip -d /opt/openjdk_images/SourceHanSerifSC
3.创建Dockerfile
这里选择
centos:centos7.9.2009
作为基础镜像。
创建Dockerfile文件:
tee /opt/openjdk_images/Dockerfile << \EOF
# 基础镜像
FROM centos:centos7.9.2009
# 作者
MAINTAINER 胡桃夹子 <[email protected]>
# 传wget安装包
COPY ./wget-1.14-18.el7_6.1.x86_64.rpm /opt
# 传openjdk包
ADD ./OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz /opt
# 传openjdk环境变量配置文件
COPY ./openjdk.sh /etc/profile.d
# 传思源中文字体
COPY ./SourceHanSerifSC/OTF/SimplifiedChinese/* /usr/share/fonts/
# 安装wget
RUN rpm -ivh /opt/wget-1.14-18.el7_6.1.x86_64.rpm --force --nodeps
# 删除安装包
RUN rm -f /opt/*.rpm
EOF
4.制作镜像
制作镜像,镜像名称定义为:
library/java:openjdk-8u382-b05-centos7
cd /opt/openjdk_images
docker build -f Dockerfile -t library/java:openjdk-8u382-b05-centos7 .
5.验证
运行刚刚制作的镜像,命名为centos:
docker run -itd--name=centos --privileged=true -p3333:22 library/java:openjdk-8u382-b05-centos7 /usr/sbin/init
进入centos容器:
dockerexec-it centos bash
验证java环境变量:
java -version
同时直接运行
java
、
javac
、
jstack
、
jps
、
jmap
等命令,如果都会出现提示信息,代表java环境安装没有问题。
验证wget:
wget--help
能正常的出现wget帮助信息,则代表安装也没有问题。
至此整个java8环境的docker镜像已经制作完成。
引用Reference
CentOS8搭建nfs服务
Kubernetes 1.25.4版本安装
kubeasz安装kubernetes1.25.5
k8s一键安装redis单机版
k8s一键安装mysql8单机版
k8s部署springboot应用
Docker安装及学习
Docker制作springboot运行应用镜像
Docker制作Java8环境镜像
Docker安装Mysql5.7.31
Docker安装Mysql8.1.0
Elasticsearch单机版本安装
Elasticsearch集群安装
ELK安装
Docker安装ELK
zookeeper集群安装
Nginx日志切割
RabbitMQ集群安装
springboot集成prometheus+grafana
windows11安装android应用
版权归原作者 V胡桃夹子 所有, 如有侵权,请联系我们删除。