docker构建jdk17镜像
资料参考
参考自黑马教程:10.Docker基础-自定义镜像_哔哩哔哩_bilibili




更多详细语法声明,请参考官网文档:https://docs.docker.com/engine/reference/builder




初步准备
1、下载jdk17包(linux版),我这边版本是jdk-17.0.11:
https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
2、 放到指定目录(自已定),后续都是在该目录下操作:
/usr/local/src/jdk/
编写Dockerfile文件
配置时区是为了校正后续的java容器日志时间:ENV TZ=Asia/Shanghai
#指定基础镜像
FROM centos:7
#配置环境变量,时区、jdk的安装目录
ENV TZ=Asia/Shanghai
ENV JAVA_DIR=/usr/local
#拷贝jdk包
COPY ./jdk-17_linux-x64_bin.tar.gz $JAVA_DIR/
#安装jdk
RUN cd $JAVA_DIR/ \ && tar -zxvf ./jdk-17_linux-x64_bin.tar.gz
#配置环境变量
ENV JAVA_HOME=$JAVA_DIR/jdk-17.0.11
ENV PATH=$PATH:$JAVA_HOME/bin
执行Dockerfile命令
docker build -t openjdk:17 .
很快就能构建成功:

相关文章:
docker构建jdk17镜像
资料参考 参考自黑马教程:10.Docker基础-自定义镜像_哔哩哔哩_bilibili 更多详细语法声明,请参考官网文档:https://docs.docker.com/engine/reference/builder 初步准备 1、下载jdk17包(linux版),我这边版…...
Android Uri转File path路径,Kotlin
Android Uri转File path路径,Kotlin /*** URI转化为file path路径*/private fun getFilePathFromURI(context: Context, contentURI: Uri): String? {val result: String?var cursor: Cursor? nulltry {cursor context.contentResolver.query(contentURI, null…...
iOS界面设计要点:四大模块解析
UI设计不是艺术设计,这限制了我们从设备和现有技术开始设计。因此,熟悉每个平台的设计规则已经成为每个设计师的第一课,也是每个设计师必要的专业知识。 今天小边给您带来了iOS设计规范,希望帮助您快速熟悉iOS平台设计规范&#…...
数字取证技术(Digital Forensics Technology)实验课II
数字取证技术(Digital Forensics Technology)实验课II 本文是我本学期的教学课题目,不包含任何博客知识分享,无关的读者可忽略; 实验练习题 (♞思考):请对工作邮件进行签名;“problem3_1.txt"里存储的是由John Doe撰写的真实的邮件,而"problem3_2.txt"里存储的…...
Redis缓存的使用
1.缓存穿透 描述:查询数据在redis不存在,请求打到数据库 解决方法: 缓存空值 当出现Redis查不到数据,数据库也查不到数据的情况,我们就把这个key保存到Redis中,设置value"null",并设…...
力扣LCP 08.剧情触发时间
力扣LCP 08.剧情触发时间 前缀和 二分 对increase求前缀和 在前缀和数组上做二分 找到符合要求的最小时间 class Solution {public:vector<int> getTriggerTime(vector<vector<int>>& increase, vector<vector<int>>& requirements)…...
Elasticsearch-IndexTemplate和DynamicTemplate 有什么区别
Elasticsearch中的Index Template和Dynamic Template是两种不同的概念,它们在索引管理中扮演不同的角色: ### Index Template(索引模板) 1. **目的**:用于定义新索引的默认设置,包括映射、设置、别名等。 …...
list集合自定义排序
一、基本类型排序 1.list中只有数字或字符串 //升序排序 List<T> ,T为数字或字符串 Collections.sort(list); //降序排序 Collections.sort(list,Collections.reverseOrder());2.list中为对象 基于jdk.18 import lombok.Data;Data public class User {private int i…...
PHP Cookies:应用与管理
在Web开发中,Cookies是一种在客户端(通常是浏览器)存储少量数据的机制。PHP作为一种服务器端脚本语言,提供了对Cookies的全面支持,使得开发者可以轻松地设置、读取和删除Cookies。Cookies通常用于存储用户的会话信息&a…...
【GD32F303红枫派使用手册】第十四节 DAC-输出电压实验
14.1 实验内容 通过本实验主要学习以下内容: DAC工作原理 使用DAC输出电压 14.2 实验原理 14.2.1 DAC工作原理 我们上几章学习了ADC,本章我们来学习DAC。ADC是模-数转换,即模拟量转换为数字量,DAC正好相反,即数-…...
java 使用Log4j进行日志记录
要在Java项目中使用Log4j进行日志记录,需要经过以下步骤: 添加Log4j依赖:在项目的pom.xml文件中,添加Log4j依赖。例如: <dependency><groupId>log4j</groupId><artifactId>log4j</artifa…...
【问题解决】adb remount 失败或刷机无法连接设备(KaiOS)
问题描述 1、设备无法adb remount成功, 2、通过fastboot无法识别设备,一直卡住 3、已经识别到9008端口,但是设备与刷机工具connect fail,甚至软件crash 解决方案 1、安装高通驱动工具:QDLoder HS-USB Driver QDLoade…...
为什么电容两端电压不能突变
我们先从RC延时电路说起吧,图1是最简单的RC延时电路,给一个阶跃的电压信号,电压会变成黄色曲线这个样子,这是为什么呢? 图1 电压跳变后,电源负极电子移动到电容下极板,排斥上极板电子流动到电源…...
Redux 与 MVI:Android 应用的对比
Redux 与 MVI:Android 应用的对比 在为 Android 应用选择合适的状态管理架构时可能会感到困惑。在这个领域中,有两种流行的选择是 Redux 和 MVI(Model-View-Intent)。两者都有各自的优缺点,因此在深入研究之前了解它们…...
《MySQL是怎样运行的》读书笔记(三) B+树索引
前言 从前面数据存储结构中我们已经知道了页和记录的关系示意图: 其中页a、页b、页c ... 页n 这些页可以不在物理结构上相连,只要通过双向链表相关联即可。 在正式介绍索引之前,我们需要了解一下没有索引的时候是怎么查找记录的。下边先只讨论搜索条件…...
微信小程序基础工作模板
1.轮播图 点击跳转官方文档 简单例子 <!-- 顶部轮播图 --> <swiper indicator-dots"true" class"banner" autoplay"true" interval"2000"><swiper-item><image src"../../images/轮播图1.jpg" >…...
简单说一下STL中的map容器的特点、底层实现和应用场景【面试】
特点: 基于红黑树:std::map利用红黑树的自平衡特性,确保操作的平衡性。有序容器:元素根据键的顺序自动排序,排序依据是预定义的键比较函数。唯一键值:容器保证每个键的唯一性,不允许重复键存在…...
Ubuntu22.04之有道词典无法画词翻译替代方案(二百四十九)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...
AnythingLLM 的 Docker 使用
AnythingLLM是使用大语言模型LLM的一站式简便框架。官网的介绍如下: AnythingLLM is the easiest to use, all-in-one AI application that can do RAG, AI Agents, and much more with no code or infrastructure headaches. 1. 使用官方docker 最方便的方法是使…...
数组还可以这样用!常用但不为人知的应用场景
哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…...
Transformer架构优化实战2026:注意力机制、KV Cache与推理加速完整指南
Transformer架构诞生已近十年,但它的工程优化故事才刚刚开始。2026年,理解并掌握Transformer的核心优化技术,是每个LLM工程师的必修课。一、为什么Transformer的优化如此重要一个7B参数的LLM在A100上推理时,如果没有优化ÿ…...
QueryExcel终极指南:5分钟批量查询上百个Excel文件的完整解决方案
QueryExcel终极指南:5分钟批量查询上百个Excel文件的完整解决方案 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 你是否曾在海量Excel文件中迷失方向?当数据分散在数十个甚至上…...
告别延时函数!用STM32F103的TIM3 PWM精准驱动WS2812灯带(附完整代码)
STM32F103精准驱动WS2812灯带:PWM方案全解析与实战代码 在嵌入式LED控制领域,WS2812智能灯带因其级联控制、色彩丰富的特性广受欢迎。然而许多开发者在使用STM32驱动时,常陷入延时函数精度不足的困境——灯光闪烁、颜色失真、CPU占用率飙升等…...
3步搞定网易云音乐插件安装:BetterNCM Installer让你的音乐体验提升300%
3步搞定网易云音乐插件安装:BetterNCM Installer让你的音乐体验提升300% 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐PC版功能单一而烦恼吗?…...
【网络基石】奈氏准则与香农公式:从理论极限到工程实践的跨越
1. 网络通信的物理极限:从理论到现实的挑战 每次用手机刷视频或下载文件时,我们都在享受现代通信技术带来的便利。但很少有人知道,这些看似简单的数据传输背后,隐藏着两个奠定现代通信基石的数学公式——奈氏准则和香农公式。它们…...
别再死记硬背了!用Python实战图解贪心算法:从活动安排到零钱兑换
用Python实战图解贪心算法:从活动安排到零钱兑换 贪心算法就像一位精明的商人,总是在每个决策点选择当下看起来最有利的选项。这种"活在当下"的策略虽然简单,却能在许多实际问题中产生惊人的效果。本文将带你用Python实现贪心算法的…...
AMD锐龙SMU调试工具完整实用指南:从基础配置到高级调优
AMD锐龙SMU调试工具完整实用指南:从基础配置到高级调优 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://g…...
自托管AI助手Moltis:基于Rust的持久化个人AI代理服务器部署与实战
1. 项目概述:为什么我们需要一个“持久化”的个人AI代理服务器?如果你和我一样,在过去一年里深度体验过各种AI助手,从ChatGPT到Claude,再到各种开源的Agent框架,你可能会发现一个共同的痛点:它们…...
终极解决方案:用代码绘图插件让Draw.io效率提升300%的完整指南
终极解决方案:用代码绘图插件让Draw.io效率提升300%的完整指南 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 还在为技术文档中的图表绘制而烦恼吗&#x…...
51单片机蓝牙遥控小车避坑指南:HC-08模块与手机App通信的那些坑(附完整代码)
51单片机蓝牙遥控小车实战:HC-08模块通信优化与避坑全解析 第一次尝试用51单片机做蓝牙遥控小车时,我盯着纹丝不动的车轮和疯狂闪烁的LED灯,差点以为买到了假模块。直到用逻辑分析仪抓取数据,才发现HC-COM这个App竟然在背后偷偷补…...
