docker 通过Dockerfile安装jdk

本文介绍了如何在Ubuntu服务器上使用Docker构建一个包含Java环境的镜像。首先,将下载的jdk-8u261-linux-x64.tar.gz上传至服务器的docker目录,然后创建一个Dockerfile,用于指定基础镜像是Ubuntu并配置相关环境变量。通过ADD命令将JDK复制到镜像中,接着设置JAVA_HOME、CLASSPATH和PATH。最后,通过CMD命令设置容器启动时执行java-version。完成Dockerfile编写后,创建镜像,添加标签,并创建及运行容器。

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

将自己下载好的jdk压缩包,我下载的是jdk-8u261-linux-x64.tar.gz ,上传到服务器上,我是使用的ubuntu

将jdk-8u261-linux-x64.tar.gz 复制到你的docker目录下,之后创建一个Dockerfile 要保证两个在同一个目录下:

#指定基础镜像,并且必须是第一条指令
FROM ubuntu:latest
#指明该镜像的作者和其电子邮件(这里随便就好)
MAINTAINER tina "tina@qq.com"
#一个复制命令,把jdk安装文件复制到镜像中,语法:ADD <src>... <dest>,注意:jdk*.tar.gz使用的是相对路径
ADD jdk-8u261-linux-x64.tar.gz /jdk/
#配置环境变量
ENV JAVA_HOME=/jdk/jdk1.8.0_261
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#容器启动时需要执行的命令
CMD java -version

Dockerfile创建完成后,就是创建镜像了

运行:创建镜像

docker build -t jdk8:v1.0 .

设置标签 指定镜像ID 给镜像添加标签

docker tag 01189e05e04c jdk8:v1.0

创建容器

docker  create -it jdk8:v1.0

运行镜像,创建容器

docker run  -it  -d --name=jdk  

### 使用 Dockerfile 安装 JDK 18 为了在 Docker安装 JDK 18,可以通过编写一个合适的 `Dockerfile` 来实现。以下是详细的说明以及示例代码。 #### 创建基础镜像 通常会选用轻量级的基础操作系统作为底层支持,比如 Ubuntu 或者 OpenJDK 的官方镜像。如果需要手动安装 JDK,则可以基于 Ubuntu 镜像完成操作。 ```dockerfile # 基础镜像是最新的Ubuntu发行版 FROM ubuntu:latest # 设置维护者信息 MAINTAINER YourName "your.email@example.com" ``` #### 添加 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 "your.email@example.com" # 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"] ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值