使用Dockerfile安装JDK8

本文详细介绍如何使用Dockerfile在Docker中安装JDK8并配置环境变量,包括下载JDK、创建Dockerfile、构建镜像及运行容器的全过程。

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

一、简介
本文主要介绍docker如何安装jdk8并配置环境变量;
本文采用dockerfile方式安装
二、安装步骤
2.1 下载jdk并上传服务器
先去oracle官网【https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html】下载jdk安装包;
上传到服务器,此处我是上传到/usr/local/env/jdk8
[root@yuanshushu local]# mkdir /usr/local/env
[root@yuanshushu local]# cd /usr/local/env/
[root@yuanshushu env]# mkdir jdk8
 

上传服务器,如下


 

2.2 创建Dockerfile文件
在jdk8目录下创建Dockerfile文件
[root@yuanshushu jdk8]# cd jdk8
[root@yuanshushu jdk8]# touch Dockerfile
修改内容
# 基础镜像为 centos
FROM centos
# 维护者 
MAINTAINER qjwyss
# 添加jdk8压缩包至 /usr/local 目录,压缩包会自动解压,解压后目录名称为jdk1.8.0_231
ADD jdk-8u231-linux-x64.tar.gz /usr/local/env/jdk8/
# 配置JAVA_HOME环境变量
ENV JAVA_HOME /usr/local/env/jdk8/jdk1.8.0_231/
# 将JAVA_HOME/bin 添加至PATH环境变量
ENV PATH $JAVA_HOME/bin:$PATH
根据Dockerfile文件构建镜像, 注意: .表明在当前目录,当前目录必须有Dockerfile文件和jdk-8u231-linux-x64.tar.gz文件
[root@yuanshushu jdk8]# docker build -t jdk8:v1.0 .
Sending build context to Docker daemon  194.2MB
Step 1/5 : FROM centos
latest: Pulling from library/centos
729ec3a6ada3: Pull complete
Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9
Status: Downloaded newer image for centos:latest
 ---> 0f3e07c0138f
Step 2/5 : MAINTAINER qjwyss
 ---> Running in bc5ec1edbf48
Removing intermediate container bc5ec1edbf48
 ---> 9f98b79260d5
Step 3/5 : ADD jdk-8u231-linux-x64.tar.gz /usr/local/env/jdk8/
 ---> de825756552c
Step 4/5 : ENV JAVA_HOME /usr/local/env/jdk8/jdk1.8.0_231/
 ---> Running in b149975d72da
Removing intermediate container b149975d72da
 ---> 92d10c79e192
Step 5/5 : ENV PATH $JAVA_HOME/bin:$PATH
 ---> Running in 099bccbd52b2
Removing intermediate container 099bccbd52b2
 ---> 4bbcc92dfa54
Successfully built 4bbcc92dfa54
Successfully tagged jdk8:v1.0
查看镜像
[root@yuanshushu jdk8]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jdk8                v1.0                4bbcc92dfa54        22 seconds ago      622MB
centos              latest              0f3e07c0138f        5 weeks ago         220MB
后台运行镜像
[root@yuanshushu jdk8]# docker run -itd --name jdk8 jdk8:v1.0
da7084eaf0e79bc2336980e5ebeecb912dcac3f83b5fbce9fdcb449664d32d8a
查看容器状态
[root@yuanshushu jdk8]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
da7084eaf0e7        jdk8:v1.0           "/bin/bash"         About a minute ago   Up About a minute                       jdk8
进入容器,并查看jdk版本信息
[root@yuanshushu jdk8]# docker attach da7084eaf0e7
[root@da7084eaf0e7 /]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
[root@da7084eaf0e7 /]#
退出容器
[root@da7084eaf0e7 /]# exit
exit
[root@yuanshushu jdk8]
 
————————————————
版权声明:本文为CSDN博主「请叫我猿叔叔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35206261/article/details/103016012

### 使用 Dockerfile 安装 JDK 18 为了在 Docker 中安装 JDK 18,可以通过编写一个合适的 `Dockerfile` 来实现。以下是详细的说明以及示例代码。 #### 创建基础镜像 通常会选用轻量级的基础操作系统作为底层支持,比如 Ubuntu 或者 OpenJDK 的官方镜像。如果需要手动安装 JDK,则可以基于 Ubuntu 镜像完成操作。 ```dockerfile # 基础镜像是最新的Ubuntu发行版 FROM ubuntu:latest # 设置维护者信息 MAINTAINER YourName "[email protected]" ``` #### 添加 JDK 文件至镜像中 将预先下载好的 JDK 安装包(如 `.tar.gz` 格式的压缩文件)复制到镜像内部,并解压它。 ```dockerfile # 将本地的JDK安装包拷贝到容器中的特定位置 ADD jdk-18_linux-x64_bin.tar.gz /opt/jdk/ # 解压完成后删除原始压缩包以减少最终镜像大小 RUN tar -zxvf /opt/jdk/jdk-18_linux-x64_bin.tar.gz -C /opt/jdk && \ rm -rf /opt/jdk/*.tar.gz ``` 上述命令假设您已经拥有名为 `jdk-18_linux-x64_bin.tar.gz` 的 JDK 安装包,并将其放置在同一目录下的 Docker 构建上下文中[^3]。 #### 配置环境变量 设置必要的 Java 环境变量以便于后续程序调用。 ```dockerfile ENV JAVA_HOME=/opt/jdk/jdk-18 ENV PATH=${JAVA_HOME}/bin:${PATH} ``` 这些环境变量定义了 JDK 的根目录 (`JAVA_HOME`) 和可执行文件的位置 (更新后的 `$PATH`)。 #### 测试安装是否成功 最后一步是在构建过程中验证 Java 是否被正确安装。 ```dockerfile CMD ["java", "-version"] ``` 当运行此容器时,默认会显示当前安装的 Java 版本号来确认一切正常运作[^2]。 完整的 Dockerfile 如下所示: ```dockerfile # Base Image FROM ubuntu:latest # Maintainer Information MAINTAINER YourName "[email protected]" # Copy and Extract JDK Package ADD jdk-18_linux-x64_bin.tar.gz /opt/jdk/ RUN tar -zxvf /opt/jdk/jdk-18_linux-x64_bin.tar.gz -C /opt/jdk && \ rm -rf /opt/jdk/*.tar.gz # Set Environment Variables ENV JAVA_HOME=/opt/jdk/jdk-18 ENV PATH=${JAVA_HOME}/bin:${PATH} # Default Command to Test Installation CMD ["java", "-version"] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值