Java 1.8 docker 镜像制作

文章目录

  • 一、下载文件
  • 二、精简JRE
  • 三、Dockerfile
  • 四、构建镜像
  • 五、容器测试


一、下载文件

  1. glibc
    下载地址
    glibc-2.35-r1.apk
    glibc-bin-2.35-r1.apk
    glibc-i18n-2.35-r1.apk

  2. rsa
    sgerrand.rsa.pub

  3. jre 1.8
    jre-8u201-linux-x64.tar.gz

二、精简JRE

  1. 解压
tar -zxvf jre-8u201-linux-x64.tar.gz && mv jre1.8.0_201 jre
  1. 精简
cd jre && rm -rf !(bin|lib|man) && \
rm -rf ./lib/plugin.jar \
./lib/ext/jfxrt.jar \
./bin/javaws \
./lib/javaws.jar \
./lib/desktop \
./lib/deploy* \
./lib/*javafx* \
./lib/*jfx* \
./lib/amd64/libdecora_sse.so \
./lib/amd64/libprism_*.so \
./lib/amd64/libfxplugins.so \
./lib/amd64/libglass.so \
/lib/amd64/libgstreamer-lite.so \
./lib/amd64/libjavafx*.so \
./lib/amd64/libjfx*.so \
./lib/locale/!(zh*)
  1. 压缩
cd .. && tar zcvf jre.tar.gz jre/

三、Dockerfile

FROM alpine:3.18.6
WORKDIR /home# 更换aline源、update
RUN echo "http://mirrors.aliyun.com/alpine/v3.18/community" > /etc/apk/repositories
RUN echo "http://mirrors.aliyun.com/alpine/v3.18/main" >> /etc/apk/repositories
RUN apk update && apk upgrade
RUN apk --no-cache add ca-certificates bash net-tools tzdata dmidecode
RUN rm -rf /var/cache/apk/*# 安装glibc
COPY apk/glibc-2.35-r1.apk .
COPY apk/glibc-bin-2.35-r1.apk .
COPY apk/glibc-i18n-2.35-r1.apk .
COPY apk/sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub
RUN apk add glibc-2.35-r1.apk glibc-bin-2.35-r1.apk glibc-i18n-2.35-r1.apk
RUN rm -rf *.apk# 设置时间
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 解决中文乱码
RUN /usr/glibc-compat/bin/localedef -i en_US -f UTF-8 en_US.UTF-8
ENV LANG=en_US.UTF-8# 安装jre
ADD jre.tar.gz .
RUN chmod +x /home/jre
ENV JAVA_HOME=/home/jre
ENV PATH=$PATH:.:$JAVA_HOME/bin

四、构建镜像

  1. 文件目录
    在这里插入图片描述
    在这里插入图片描述
  2. 构建镜像
docker build --tag java:1.8.0 .

五、容器测试

  1. 进入容器
docker run -it --privileged -v /dev/mem:/dev/mem \
-v /sys/class/net/ens160/address:/home/address --rm java:1.8.0 bash
  1. 测试
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态住宅IP vs 静态住宅IP,如何选择适合你的海外住宅IP?

随着数字时代的发展,网络已经成为了我们日常生活中不可或缺的一部分。在海外留学、旅游、工作或者进行电子商务等活动时,一个合适的住宅IP可以帮助我们保护个人隐私、确保网络连接的稳定性、提高在线服务的可靠性等。因此,选择适合自己的住宅…

SpringCloudGateway获取报文大小

Overview SpringCloud Gateway使用过程中,希望获取报文大小。由于SpringCloud Gateway底层基于Netty实现,直接读取报文,会大幅影响网关性能。因此本文将通过其他方式获取报文大小。本文基于2.2.9 SpringCloud Gateway开发。 读取请求报文大…

读《Shape-Guided: Shape-Guided Dual-Memory Learning for 3D Anomaly Detection》

Chu Y M, Chieh L, Hsieh T I, et al. Shape-Guided Dual-Memory Learning for 3D Anomaly Detection[J]. 2023.(为毛paperwithcode上面曾经的榜一引用却只有1) 摘要 专家学习 无监督 第一个专家:局部几何,距离建模 第二个专家&…

CSS3技巧37:JS+CSS3 制作旋转图片墙

开学了就好忙啊,Three.js 学习的进度很慢。。。 备课备课才是王道。 更一篇 JS CSS3 的内容,做一个图片墙。 其核心要点是把图片摆成这个样子: 看上去这个布局很复杂,其实很简单。其思路是: 所有图片放在一个 div.…

【堆】【优先级队列】Leetcode 215. 数组中的第K个最大元素

【堆】【优先级队列】Leetcode 215. 数组中的第K个最大元素 PriorityQueue操作解法 优先级队列构造堆 小顶堆 ---------------🎈🎈题目链接🎈🎈------------------- PriorityQueue操作 创建优先级队列【默认创建小顶堆】&#xf…

elasticsearch 聚合DSL语法

1.聚合的分类 聚合可以实现对文档数据的统计、分析、运算。聚合常见的分类: • 桶(Bucket)聚合:用来对文档进行分组,比如 TermAggregation:按照文档字段值分组; Date HIstogram:按照日期阶梯分组,例如一周为一组&…

GIS之深度学习02:Anaconda2019版本安装(py38)

Anaconda是一个专注于数据科学和机器学习的开源发行版,内置了丰富的工具和库,包括Python解释器、NumPy、SciPy、Pandas、Scikit-learn、TensorFlow等,使用户能够轻松进行科学计算和数据分析。其强大的包管理器conda简化了软件包的安装和环境管…

Flask入门一

文章目录 一、Flask介绍二、Flask创建和运行1.安装2.快速使用3.Flask小知识4.flask的运行方式 三、Werkzeug介绍四、Jinja2介绍五、Click CLI 介绍六、Flask安装介绍watchdog使用python--dotenv使用(操作环境变量) 七、虚拟环境介绍Mac/linux创建虚拟环境…

【自动化的讲解】

自动化 1. 前言2. 自动化的历史和发展3. 自动化的类型4. 自动化的优点和缺点5. 自动化的实际应用 1. 前言 自动化是指使用各种控制系统和技术,如计算机软件、机器人、人工智能和信息技术来减少人工介入,并执行各种过程和任务,自动化可以应用…

Mysql的备份还原

模拟环境准备 创建一个名为school的数据库,创建一个名为Stuent的学生信息表 mysql> create database school; Query OK, 1 row affected (0.00 sec)mysql> use school; Database changed mysql> CREATE TABLE Student (-> Sno int(10) NOT NULL COMME…

java 数据结构栈和队列

目录 栈(Stack) 栈的使用 栈的模拟实现 栈的应用场景 队列(Queue) 队列的使用 队列模拟实现 循环队列 双端队列 用队列实现栈 用栈实现队列 栈(Stack) 什么是栈? 栈 :一种特殊的线性表,其 只允许在固定的一端进行插入和删除元素操…

C 语言中的 char 关键字详解

1. char类型 char类型用于存储单个字符,占用1个字节的内存空间。在C语言中,char类型可以用于存储ASCII码表中的任意字符,包括大小写字母、数字、标点符号等。例如: char ch A;在这个例子中,变量ch存储了字符A的ASCI…

顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上讲解(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件使用httpapi实现电话转接操作过程讲解(mod_cti基于FreeSWITCH) 需要了解呼叫中心中间件可以点以下链接了解顶顶通小孙 1、使用httpapi接口转接 一、打开web版的ccadmin并且找到接口测试 打开web-ccadmin并且登录,登录完成之后点击运维调试-再…

服务器部署java 的docker项目,以及常用的一些命令

1.编写Dockerfile文件(javaEE) # 使用 Java 运行时环境作为基础镜像 FROM openjdk:8-jdk-alpine# 将 jar 文件添加到容器中 ADD target/SBoot-ssmp-0.0.1-SNAPSHOT.jar app.jar# 运行 jar 文件 ENTRYPOINT ["java","-jar","/a…

【ArcGIS】统计格网中不同土地利用类型占比

基于ArcGIS统计格网中不同土地利用类型占比 数据准备ArcGIS操作步骤1、创建渔网(Create Fishnet)2、建立唯一标识3、选择格网4、提取不同类别土地利用类型5、各类用地面积计算 参考另:可能出现的问题总结Q1:ArcGIS获取唯一值&…

【python、nlp、transformer】transformer与nlp感受器

Transformer的优势 相比之前占领市场的LSTM和GRU模型,Transformer有两个显著的优势: 1. Transformer能够利用分布式GPU进行并行训练,提升模型训练效率。 2. 在分析预测更长的文本时,捕捉间隔较长的语义关联效果更好&#xff0e…

ARM系列 -- 虚拟化(一)

今天来研究一个有意思的话题,虚拟化(virtualization)。 开始前,先闲扯一下,最近一个词比较火,“元宇宙(Metaverse)”。在维基百科里面是这么定义元宇宙的,“The Metaver…

2024-02-27(Kafka)

1.Kafka中所有的消息都是保存在主题中的,要生产消息到Kafka,首先必须要创建一个主题。 2.Kafka的生产者/消费者 安装kafka集群,可以测试如下: 创建一个topic主题(消息都是存放在topic中,类似mysql建表的过…

iMazing 3.0.0.3 for mac 中文破解版2024最新图文安装教程

我们刚刚发布了iMazing 3.0.0.3 for mac 中文版本。Windows和macOS用户现在都可以试驾并体验iPhone管理的未来。 备受期待的第一个Windows版本得益于过去几个月macOS测试版的所有改进,使其成为一个稳定的初始版本。 我们的开发团队创造了一种无缝的外观和体验&#…

Android日历提醒增删改查事件、添加天数不对问题

Android日历提醒是非常好的提醒功能&#xff0c;笔者在做的过程中&#xff0c;遇到的一些问题&#xff0c;现整理出来&#xff0c;以供参考。 一、申请日历的读写权限 <uses-permission android:name"android.permission.WRITE_CALENDAR" /> <uses-permiss…