dockerfile基于apline将JDK20打包成镜像

 更新时间:2024年02月16日 11:02:03   作者:小蓝博客  
这篇文章主要为大家介绍了dockerfile基于apline将JDK20打包成镜像步骤及验证,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

下载 jdk20 压缩包

https://www.oracle.com/java/technologies/downloads/ 

Docker是一种开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。Dockerfile是一种由Docker读取的脚本,包含了一组用来构建镜像的指令。

编写 dockerfile

以下是一个基于Alpine Linux并包含JDK 20的Dockerfile示例,这个示例假设你已经有了一个名为jdk-20_linux-x64_bin.tar.gz的JDK 20的安装包,并且这个安装包和Dockerfile在同一目录下:

# 基于Alpine Linux的基础镜像
FROM alpine:latest
# 作者信息
LABEL maintainer="your-email@example.com"
# 安装需要的软件包,包括bash(Alpine默认使用ash shell),curl和libstdc++
RUN apk add --no-cache bash curl libstdc++
# 创建一个目录来存放JDK
RUN mkdir /opt/jdk
# 将JDK 20的安装包复制到创建的目录中
COPY jdk-20_linux-x64_bin.tar.gz /opt/jdk
# 切换到存放JDK的目录
WORKDIR /opt/jdk
# 解压JDK 20的安装包
RUN tar -zxf jdk-20_linux-x64_bin.tar.gz
# 删除JDK 20的安装包
RUN rm jdk-20_linux-x64_bin.tar.gz
# 将JDK 20的bin目录添加到PATH环境变量中
ENV PATH /opt/jdk/jdk-20/bin:$PATH
# 验证JDK的安装
RUN java -version && javac -version

这个Dockerfile做了以下几件事:

  • 基于Alpine Linux的基础镜像创建一个新的镜像。
  • 安装了一些必要的软件包,包括bash,curl和libstdc++。
  • 创建了一个目录/opt/jdk来存放JDK。
  • 将JDK 20的安装包复制到新创建的目录中。
  • 切换到存放JDK的目录,然后解压JDK 20的安装包。
  • 删除了JDK 20的安装包。
  • 将JDK 20的bin目录添加到PATH环境变量中,这样可以在任何地方都可以直接运行Java命令。
  • 验证了JDK的安装,通过运行java -version和javac -version命令来确认JDK是否安装成功。

完成这个Dockerfile后,你可以使用docker build命令来构建镜像,然后使用docker run命令来运行这个镜像。如果一切正常,你应该可以在容器中运行Java命令。

打包

dockerfile 和 jdk20 的压缩包要在同一个目录中,如下图:

进入 dockerfile 所在目录,使用以下命令打包:

docker build -t hello-jdk-20 .

验证

使用 docker images 查看是否生成镜像

创建并启动容器

docker run -it hello-jdk-20 /bin/bash

检查

javac

注意:这个Dockerfile假设你已经有了一个名为jdk-20_linux-x64_bin.tar.gz的JDK 20的安装包,并且这个安装包和Dockerfile在同一目录下。如果你的JDK 20的安装包在其他地方,或者有其他名称,你需要修改COPY指令和tar -zxf命令中的路径和文件名。

以上就是dockerfile基于apline将JDK20打包成镜像的详细内容,更多关于dockerfile apline打包JDK20的资料请关注脚本之家其它相关文章!

相关文章

  • 通过Dockerfile构建Docker镜像的方法步骤

    通过Dockerfile构建Docker镜像的方法步骤

    这篇文章主要介绍了通过Dockerfile构建Docker镜像的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • docker部署golang http服务时端口无法访问的问题解决

    docker部署golang http服务时端口无法访问的问题解决

    本文主要介绍了docker部署golang http服务时端口无法访问的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 使用Docker Compose一键部署OnlyOffice的完整指南与配置解析

    使用Docker Compose一键部署OnlyOffice的完整指南与配置解析

    OnlyOffice作为一款强大的开源办公套件,不仅提供与Microsoft Office高度兼容的在线编辑体验,还支持实时协作编辑,成为许多企业和团队的首选解决方案,下面就将详细介绍如何使用Docker Compose快速部署功能完整的OnlyOffice服务栈
    2026-01-01
  • 浅谈docker容器镜像的保存位置

    浅谈docker容器镜像的保存位置

    在使用Docker时,我们常常需要从远程仓库中拉取镜像,并将其保存到本地储存位置,本文主要介绍了浅谈docker容器镜像的保存位置,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 在Window 10上安装Docker图文教程

    在Window 10上安装Docker图文教程

    Docker 是一个开源的应用容器引擎,功能十分强大,相信开发者们都不陌生。现在,docker已经发布了支持Windows10的稳定版本,对于用户来说是一个福音。接下来,小编就详细介绍Win10系统安装docker教程。
    2018-03-03
  • Docker安装Nginx并部署及MySQL容器构建全过程

    Docker安装Nginx并部署及MySQL容器构建全过程

    众所周知Docker是一种容器化技术,可以用来快速部署和管理应用程序,这篇文章主要给大家介绍了关于Docker安装Nginx并部署及MySQL容器构建的相关资料,需要的朋友可以参考下
    2024-02-02
  • 详解Docker之Compose服务编排

    详解Docker之Compose服务编排

    Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。兴趣的小伙伴们可以参考一下
    2018-07-07
  • Docker部署Zookeeper官方镜像的保姆级教程

    Docker部署Zookeeper官方镜像的保姆级教程

    这篇文章介绍了如何使用Docker和Docker Compose部署Zookeeper官方镜像,包括安装Docker及可视化工具、创建挂载目录、运行Zookeeper容器、查看运行状态以及验证是否正常运行,需要的朋友可以参考下
    2025-02-02
  • docker运行异构镜像详解

    docker运行异构镜像详解

    介绍了在不同CPU架构下运行Docker镜像时遇到的问题及解决方法,作者分享了由于银行使用鲲鹏系统(ARM架构)导致Docker容器运行失败的经历,解决方法包括启用`--platform`参数、安装`qemu-user-static`及`binfmt_misc`
    2024-12-12
  • Docker Compose从安装到使用详细过程

    Docker Compose从安装到使用详细过程

    Docker Compose是Docker官方提供的一个工具,用于定义和运行多容器 Docker应用程序,本文给大家介绍Docker Compose从安装到使用详细过程,感兴趣的朋友跟随小编一起看看吧
    2025-09-09

最新评论