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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

瑞吉外卖项目学习笔记(二)后台系统的员工管理业务开发

一、完善登录功能 1.1 问题分析 1.2 代码实现 package com.itheima.reggie.filter;//这是一个过滤器类 //登录检查过滤器import com.alibaba.fastjson.JSON; import com.itheima.reggie.common.R; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf…

探索k8s集群的存储卷 emptyDir hostPath nfs

目录 一 含义 查看支持的存储卷类型 emptyDir存储卷 1.1 特点 1.2 用途 1.3部署 二、hostPath存储卷 一 含义 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重…

磁盘配额的具体操作

磁盘配额: linux的磁盘空间有两个方面:第一个是物理空间,也就是磁盘的容量 第二个inode号耗尽,也无法写入 linux根分区:根分区的空间完全耗尽,服务程序崩溃,系统也无法启动了。 为了防止有人…

师彼长技以助己(2)产品思维

师彼长技以助己(2)产品思维 前言 我把产品思维称之为:人生底层的能力以及蹉跎别人还蹉跎自己的能力,前者说明你应该具备良好产品思维原因,后者是你没有好的产品思维去做产品带来的灾难。 人欲即天理 请大家谈谈看到这…

错误 0x80070570:文件或目录损坏且无法读取/无法访问[拒绝访问]-解决方法

1.起因:在挪动U盘文件时,出现无法移动的报错提示: and无法访问[拒绝访问]: 2.原因[大多是胡乱拔出U盘] [来自0x80070570 文件或目录损坏且无法读取 CHKDSK 修复方法-CSDN博客&#…

【介绍下SCSS的基本使用】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

【AI应用开发框架】应用phidata快速构建你的智能体(如个人知识库、自动选股等)

1.phidata是什么? AI APP开发框架,基于此框架可快速搭建智能体或智能助手以实现记忆、知识库及工具使用等功能。 2.框架是怎样的? 3.为什么选择phidata? 问题:LLMs 的上下文有限,无法执行具体动作 解决…

[数据集][目标检测]猫狗检测数据集VOC+YOLO格式8291张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8291 标注数量(xml文件个数):8291 标注数量(txt文件个数):8291 标注…

LeetCode-131 分割回文串

LeetCode-131 分割回文串 题目描述解题思路C 代码 题目描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。 示例 1: 输入:s “aab” 输出:[[“a”,“a”,“b”],…

1.8k Star!RAGApp:在任何企业中使用 Agentic RAG 的最简单方法!

原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!) 1.8k Star!RAGApp:在任何企业中使用 Agentic RAG 的最简单方法! 🌟在任何企业中使用 Agent…

大数据信用报告分析和评估有什么意义

大数据信用这个词在现在已经是很常见的了,只要是申贷的朋友对它就不陌生,在明面上的信用资质刚刚满足审核要求,但又要把控风险的时候,这个时候大数据信用就会作为风控机构交叉核查的重要依据。那你知道大数据信用报告分析和评估有…

二、线性回归模型

目录 一、线性回归 1.模型示例 2.代码实验(C1_W1_Lab03_Model_Representation) (1).工具使用 (2).问题描述-房价预测 (3).输入数据 (4).绘制数据集坐标点 (5).建模构造函数 二、代价函数(Cost function) 1.解释一下概念…

上架 Google Play 的那些辛酸泪

一、注册 Google 账号 首先你要有个账号,地址如下: accounts.google.com/signup/v2/w… 按照 Google 爸爸要求,该填写的都填了,随后点击下一步。 验证手机号: 输入验证码验证当前手机号: 其他信息填写&a…

废品回收小程序怎么做?有哪些核心功能?

废品回收行业正逐步走向高质量发展的道路。在国家政策的推动下,再生资源市场需求旺盛,行业内部竞争格局逐渐明朗。 随着互联网技术的发展,"互联网回收"成为废品回收行业的一个新趋势。通过微信小程序这种线上平台,用户…

Linux--EXT2文件系统

参考资料: linux之EXT2文件系统--理解block/block group/索引结点inode/索引位图_一个块组中索引节点表和数据块区最多占用字节-CSDN博客 linux环境: Linux version 5.15.146.1-microsoft-standard-WSL2 (root65c757a075e2) (gcc (GCC) 11.2.0, GNU ld…

Wpf 使用 Prism 实战开发Day30

登录界面设计 一.准备登录界面图片素材(透明背景图片) 1.把准备好的图片放在Images 文件夹下面,格式分别是.png和.ico 2.选中 login.png图片鼠标右键,选择属性。生成的操作选择>资源 3.MyTodo 应用程序右键,属性&a…

音量的对数表示与浮点数表示

音量用浮点数(float)和对数(logarithmic scale)表示各有特点和应用场景 浮点数:直接使用线性刻度表示音量,例如在0.0(最小音量)到1.0(最大音量)的范围内。对…

YZW900规格书

title: “深圳市沃进科技有限公司” 深圳市沃进科技有限公司 TOP视图 特性 异地组网,远程访问有线/无线备份单模双卡备份5G转有线,5G转WIFI2.4G5.8G双频WIFI三网口,WAN/LAN可切换软硬件看门狗智能防掉线云平台、客户端远程管理安装支架安装铝…

MyBatis延迟加载缓存分页逆向工程

文章目录 延迟加载概述步骤 缓存一级缓存介绍原理 二级缓存介绍 设置缓存对象策略原理开启步骤属性解释是否使用一级缓存 分页插件使用步骤 逆向工程介绍搭建使用增删修改查 延迟加载 概述 延迟加载本身是依赖于多表查询的 延迟加载中返回值要选择resultMap返回的结果一定是D…

【QEMU 中文文档】0. Hello QEMU!

最近,我开始研究QEMU这个超强的虚拟化和仿真工具。不得不说,读英文文档真是让我头大 🥴。于是我灵机一动,为什么不做个QEMU的中文文档呢?毕竟,现在有了ChatGPT的强大翻译能力,我决定尝试一下&am…