制作Java8环境Docker镜像

制作Java8环境Docker镜像

这里介绍如何制作一个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环境变量文件:

shell 复制代码
tee /opt/openjdk_images/openjdk.sh << \EOF
export JAVA_HOME=/opt/jdk8u382-b05
export CLASSPATH=.:$JAVA_HIOME/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
EOF

部分java应用程序,可能会涉及中文乱码问题,需要安装中文字体,这里采用的是开源的思源中文字体,思源字体包提前解压,方便镜像制作时直接拷贝进去。

解压思源字体包:

shell 复制代码
unzip /opt/openjdk_images/09_SourceHanSerifSC.zip -d /opt/openjdk_images/SourceHanSerifSC

3.创建Dockerfile

这里选择centos:centos7.9.2009作为基础镜像。

创建Dockerfile文件:

dockerfile 复制代码
tee /opt/openjdk_images/Dockerfile << \EOF
# 基础镜像
FROM centos:centos7.9.2009

# 作者
MAINTAINER 胡桃夹子 <infowangxin@139.com>

# 传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

shell 复制代码
cd /opt/openjdk_images
docker build -f Dockerfile -t  library/java:openjdk-8u382-b05-centos7 .

5.验证

运行刚刚制作的镜像,命名为centos:

shell 复制代码
docker run -itd --name=centos --privileged=true -p 3333:22 library/java:openjdk-8u382-b05-centos7 /usr/sbin/init

进入centos容器:

shell 复制代码
docker exec -it centos bash

验证java环境变量:

复制代码
java -version

同时直接运行 java 、 javac、 jstack、 jps、 jmap 等命令,如果都会出现提示信息,代表java环境安装没有问题。

验证wget:

shell 复制代码
wget --help

能正常的出现wget帮助信息,则代表安装也没有问题。


至此整个java8环境的docker镜像已经制作完成。


引用 Reference

Kubernetes 1.25.4版本安装

kubeasz安装kubernetes1.25.5

CentOS8搭建nfs服务

k8s一键安装redis单机版

k8s一键安装mysql8单机版

Docker制作springboot运行应用镜像

k8s部署springboot应用

zookeeper集群安装

Nginx日志切割

Elasticsearch单机版本安装

Elasticsearch集群安装

springboot集成prometheus+grafana

安装Docker及学习

RabbitMQ集群安装

Docker安装Mysql5.7.31

ELK安装

Docker安装ELK

windows11安装android应用

制作Java8环境Docker镜像

相关推荐
闲云自留地4 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
讯捷蓝达4 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落7 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng7 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮8 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹8 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_8 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_9 小时前
云原生基础之Containerd容器运行时
运维·云原生
分布式存储与RustFS9 小时前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
无忧_wy9 小时前
MoneyPrinterTurbo 自动化视频生成实战指南
运维·人工智能·自动化·音视频