Docker制作Java8环境镜像

本文详细介绍了如何在Docker中创建一个基于CentOS7.9.2009的Java8环境镜像,包括下载OpenJDK8安装包,设置环境变量,安装wget,添加中文字体,编写Dockerfile,制作并验证镜像的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
export JAVA_HOME=/opt/jdk8u382-b05
export CLASSPATH=.:$JAVA_HIOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$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 胡桃夹子 <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

cd /opt/openjdk_images
docker build -f Dockerfile -t  library/java:openjdk-8u382-b05-centos7 .

5.验证

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

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

进入centos容器:

docker exec -it centos bash

验证java环境变量:

java -version

同时直接运行 javajavacjstackjpsjmap 等命令,如果都会出现提示信息,代表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应用

您可以使用以下命令来拉取Java8镜像: ``` docker pull java:8 ``` 这将从Docker Hub上拉取官方的Java8镜像。如果您的系统是arm64/aarch64架构,而官方的Java8镜像不支持该架构,您可以参考\[1\]中的博客文章,自定义一个支持arm64/aarch64架构的Java8镜像。在博客文章中,作者提供了Dockerfile的参数介绍和示例,您可以根据需要进行自定义。如果您需要将镜像保存为tar归档文件,以便在无法联网的服务器上使用,可以参考\[2\]中的步骤,使用`docker save`命令保存镜像为tar文件,并使用`docker load`命令在其他服务器上加载镜像。在操作之前,您可以先创建一个目录用于存放相关文件,如\[3\]所示。 #### 引用[.reference_title] - *1* *3* [在centos7下docker 制作 java8镜像,上传到阿里云镜像仓库](https://blog.youkuaiyun.com/lizhou828/article/details/126920577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [docker拉取使用java环境](https://blog.youkuaiyun.com/u013301376/article/details/112375135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值