制作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

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

相关推荐
峰顶听歌的鲸鱼2 小时前
Kubernetes介绍和部署
运维·笔记·云原生·容器·kubernetes·学习方法
信创天地3 小时前
自动化运维利器赋能信创:Ansible与SaltStack在国产系统的部署与批量管理实战
运维·自动化·ansible
东城绝神3 小时前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
creator_Li3 小时前
即时通讯项目--(1)环境搭建
linux·运维·ubuntu
Ka1Yan3 小时前
Docker:基本概念与快速入门
运维·docker·容器
文静小土豆5 小时前
Rocky Linux 二进制 安装K8S-1.35.0高可用集群
linux·运维·kubernetes
小技工丨5 小时前
华为TaiShan 200 2280 ARM服务器虚拟化部署完整指南
运维·服务器·arm开发
糠帅傅蓝烧牛肉面6 小时前
单实例多MCP聚合服务:两种实现方案深度对比
前端·docker·ai
403240737 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
零意@7 小时前
debian如何把新编译的内核镜像替换原来的内核
运维·debian·更新内核版本·linux内核版本更新·debian更新内核