2.4 Docker部署JDK

2.4 Docker部署JDK

jdk17部署(自定义镜像)

1.在官网上下载jdk-17_linux-x64_bin.tar.gz,并安装到/usr/local目录下
cd /usr/local
2.创建Dockerfile
vim Dockerfile
# 基于官方的Ubuntu 20.04镜像作为基础镜像
FROM ubuntu:20.04# 设置环境变量
ENV JDK_VERSION 17
ENV JDK_HOME=/usr/local/docker/jdk-17.0.10
ENV PATH $JDK_HOME/bin:$PATH# 安装JDK17
RUN mkdir /usr/local/docker
RUN cd /usr/local/docker
ADD jdk-17_linux-x64_bin.tar.gz /usr/local/docker# 配置Java环境变量
RUN echo "export JAVA_HOME=$JDK_HOME" >> /etc/profile && \echo "export PATH=$JDK_HOME/bin:$PATH" >> /etc/profile# 验证JDK安装
RUN java -version

image-20240328122529940

3.构建Docker镜像

在Dockerfile所在的目录下执行以下命令构建Docker镜像:

docker build -t myjdk17 .

image-20240328122451164

4.运行Docker容器
docker run -it myjdk17

其中,-it参数表示交互式运行容器,并使容器的标准输入保持打开状态。

5.验证jdk安装
java -version

image-20240328122508011

jdk8部署(使用第三方镜像)

1.下载 oracle 官方 java jdk 镜像,默认下载最新版本,以下选择jdk8
docker pull docker.io/java:8
2.查看 Docker Java JDK 版本
查看本地下载好的镜像
docker images
查看容器列表
docker ps -a
运行 java jdk 容器
docker run -it --name jdk8 -d docker.io/java:8

​ -i:以交互模式运行容器,通常与 -t 同时使用
​ -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
​ --name:自定义容器名
​ -d:表示后台运行
​ docker.io/java:8:指定运行的镜像名称,根据自己实际情况填写,也可以是 image id

再次查看当前运行的容器
docker ps
启动容器
docker start java-jdk8
进入容器并执行命令
docker exec -it java-jdk8 /bin/bash
进入容器后,查看 java jdk 版本
java -version
退出容器
exit
已经创建过的容器,如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)

参考:https://blog.csdn.net/wangmx1993328/article/details/117898871
pdate 命令设置

docker update --restart=always 容器ID(或者容器名)

参考:https://blog.csdn.net/wangmx1993328/article/details/117898871

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

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

相关文章

【python深度学习】——大型工程项目管理以及互相导入

【python深度学习】——大型工程项目管理以及互相导入 1. 工程项目中常见的文件组织形式2. python中的“包”、“模块”、与__init__.py2.1 概念理解2.2 \__init__py的使用3. 包的导入——相对导入与绝对导入3.1 相对导入3.1.1 相对导入的语法3.1.2 相对导入的使用注意事项与常…

Attentive Transfer Entropy to Exploit Transient Emergence of Coupling Effect

本文可以采用以下六个标准: 目标:指的是研究的基本目的。 耦合网络重建专注于揭示网络中变量之间潜在的连接结构,确定它们是如何相互关联的。因果发现更进一步,不仅识别连接,还确定变量之间的因果关系和方向。信息传递测量量化变量之间流动的信息量,表明它们影响的强度和…

二维数组传参时不用二级指针接收

先放结论: 1. 二维数组数组名指向的类型是 int [x] 类型,int** 指针指向类型是 int* ,如果用二级指针接收会导致访问错误,因为 int [x] 类型和 int* 类型不同。 2. 指向什么类型的指针1就按照该类型的字节数1移动。 最近在学…

初识java——javaSE(8)异常

文章目录 一 异常的概念与体系结构1.1 什么是异常?1.2 异常的体系结构!1.3 编译时异常与运行时异常与Error编译时异常:异常声明:throws关键字 运行时异常:什么是Error? 二 处理异常2.1 异常的抛出:throw(注…

容器多机部署eureka及相关集群服务出现 Request execution failed with message: AuthScheme is null

预期部署方案:两个eureka三个相关应用 注册时应用出现:Request execution failed with message: Cannot invoke “Object.getClass()” because “authScheme” is null,一开始认为未正确传递eureka配置的账户密码,例:…

5.23R语言-参数假设检验

理论 方差分析(ANOVA, Analysis of Variance)是统计学中用来比较多个样本均值之间差异的一种方法。它通过将总变异分解为不同来源的变异来检测因子对响应变量的影响。方差分析广泛应用于实验设计、质量控制、医学研究等领域。 方差分析的基本模型 方差…

重庆人文科技学院建立“软件安全产学研基地”,推动西南地区软件安全发展

5月29日,重庆人文科技学院与开源网安签订了《产学研校企合作协议》,并举行了“重庆人文科技学院产学研基地”授牌仪式,此次合作不仅深化了双方在软件安全领域的产学研紧密联结,更是对川渝乃至西南地区软件供应链安全发展起到重要的…

力扣linkedlist

反转链表、 public class reverseList { // 1->2->3->o 、 o<-1<-2<-3public ListNode reverseList(ListNode head){//反转链表ListNode prevnull;ListNode currhead;while(curr!null){ListNode nextcurr.next;curr.nextprev;prevcurr;currnext;}retu…

AI免费插件 批量条码大师,支持100多种条码类型

没想到在网上看到一款和之前 悟空条码 类似的条码插件&#xff0c;叫批量条码大师&#xff0c;他做的比 悟空条码 功能更强&#xff0c;界面更美观&#xff0c;特分享出来给大家。 本插件采用了BWIPJS条码库&#xff0c;支持110种条码、二维码的生成; 支持批量生成&#xff0c;…

爱堡集团数智掘金—共绘上市蓝图

&#xff08;本台记者报&#xff09;2024年5月26日爱堡集团在浙江省杭州市上城区瑞莱克斯大酒店隆重召开规模达500人的盛会。这场聚焦智慧与创新的会议&#xff0c;旨在加速爱堡集团的数智化转型进程&#xff0c;并为其上市之路绘制蓝图&#xff0c;吸引了众多行业领袖和媒体的…

Qt 插件机制使用及原理

目录 1.引言 2.插件原理 3.插件实现 3.1.定义一个接口集(只有纯虚函数的类) 3.2.实现接口 4.插件的加载 4.1.静态插件 4.1.1.静态插件实现方式 4.1.2.静态插件加载的过程 4.1.3.示例 4.2.动态插件 4.2.1.动态插件的加载过程 5.定位插件 6.插件开发的优势 7.总结…

GPT-4o有点坑

GPT-4o有点坑 0. 前言1. GPT-4o简介2. GPT-4o带来的好处2.1 可以上传图片和文件2.2 更丰富的功能以及插件 3. "坑"的地方3.1 使用时间短3.2 GPT-4o变懒了 4. 总结 0. 前言 原本不想对GPT-4o的内容来进行评论的&#xff0c;但是看了相关的评论一直在说&#xff1a;技…

Ai晚班车531

1.中央网信办等三部门&#xff1a;加快推进大模型、生成式人工智能标准研制。 2.中国石油与中国移动、华为、科大讯飞签署合作协议。 3.Opera浏览器与谷歌云合作&#xff0c;接入 Gemini 大模型。 4.谷歌 Gemini 加持Chromebook Plus。 5.英飞凌&#xff1a;开发 8kW和12kW…

速盾:cdn和udp的区别?

CDN&#xff08;Content Delivery Network&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是网络领域中常用的两个术语&#xff0c;分别代表了不同的技术和功能。下面将分别介绍它们的区别。 功能和应用场景 CDN是一种分布式架构的网络服务&#xff0c;通过在…

改进YOLOv8系列:构建新型单头transformer模块,加入到骨干尾部

改进YOLOv8系列:构建新型单头transformer模块,加入到骨干尾部 需要修改的代码self attention代码创建yaml文件测试是否创建成功本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中具有完整的代码和包含多种更有效加入YOLOv8中的yaml结构,读者…

【论文导读】Grid Graph Reduction for Efficient Shortest Pathfinding(2023 Access)

Grid Graph Reduction for Efficient Shortest Pathfinding 作者&#xff1a;CHAN-YOUNG KIM AND SANGHOON SULL 文章提出了一种“基于模式识别的网格阻塞”&#xff08; Pattern-Based Blocking on grid graphs&#xff0c;PBGG&#xff09;的预处理方法&#xff0c;以加快最…

XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览

XML Web服务是一种用于在网络上发布、发现和使用应用程序组件的技术。它基于一系列标准和协议&#xff0c;如WSDL、SOAP、RDF和RSS。下面是一些相关的内容&#xff1a; WSDL&#xff08;Web服务描述语言&#xff09;&#xff1a;用于描述Web服务的基于XML的语言&#xff0c;定义…

安卓手机APP开发___广播概述

安卓手机APP开发___广播概述 目录 概述 关于系统广播 系统广播所发生的更改 接收广播 清单声明的接收器 上下文注册的接收器 对进程状态的影响 发送广播 通过权限限制广播 带权限的发送 带权限的接收 安全注意事项和最佳做法 概述 Android 应用可以通过 Android …

数据分析案例-在线食品订单数据可视化分析与建模分类

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

springmvc揭秘参数解析

参数解析 说到参数解析&#xff0c;springmvc中处理参数的是HandlerMethodArgumentResolver接口 public interface HandlerMethodArgumentResolver { // 判断是否支持该类型参数 boolean supportsParameter(MethodParameter parameter); // 进行参数解析 Object resolv…