首页 > 其他分享 >自定义jdk镜像

自定义jdk镜像

时间:2024-02-01 15:33:31浏览次数:31  
标签:自定义 jdk multiverse aliyun ubuntu 镜像 main com

1、安装docker

这里使用Ubuntu系统安装docker,方便一点(偷懒)

apt-get install docker.io -y

安装不了可以试试阿里云镜像源,在/etc/apt/sources.list.d/下新增文件:aliyun.sources.list,写入如下内容(ubuntu22.04示例,其他版本参考:ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com)

deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

# 执行L:
apt-get update -y

测试:

image-20240201135959536

2、下载一个jdk

此处下载jdk17示例,下载地址:Java Downloads | Oracle

image-20240201134814501

简化一下命名

image-20240201140352295

解压下载的文件,获取解压后的文件目录名

image-20240201141900486

3、编写一个Dockerfile

文件名最好命名为Dockerfile(其他也可以)

vim Dockerfile

内容为

# 设置基础镜像
FROM ubuntu

# 设置工作目录
workdir /env

#拷贝jdk文件
ADD  jdk_17.tar.gz  ./

# 设置环境变量
ENV PATH=$PATH:/env/jdk-17.0.10/bin

制作jdk镜像,命令最后有一个".",不能丢

docker build -t jdk17:ubuntu .

image-20240201142600321

查看已存在的镜像:

docker images 

image-20240201142623420

运行查看jdk版本的容器:出现如图显示即成功制作了jdk镜像:(容器执行完指定命令后会退出,所以状态是exit)

# 运行一个容器 -> 查看java版本
docker run --name jdk17  jdk:ubuntu java -version
# 查看所有容器
docker ps -a
# 查看javac版本
docker run --name jdk17c  jdk:ubuntu javac -version

image-20240201145350119

image-20240201145609209

结束,

标签:自定义,jdk,multiverse,aliyun,ubuntu,镜像,main,com
From: https://www.cnblogs.com/dravenxue/p/18001378

相关文章

  • 无边框 自定义页面 圆角 自定义关闭按钮 wfp 钱包夹
    无边框自定义页面圆角 自定义关闭按钮wfp钱包夹C#.net4.8wpfSqlServer2012消息队列Redis 来源银柱网-李银柱个人博客http://www.liyinzhu.com......
  • vue3,封装检测元素大小变化的自定义指令
    1//resizeObserver.ts2//监听元素大小变化的指令3constmap=newWeakMap()4constob=newResizeObserver((entries)=>{5for(constentryofentries){6//获取dom元素的回调7consthandler=map.get(entry.target)8//存在回调函......
  • [转帖]Open JDK 8.0_152-b16 崩溃 : [libzip.so+0x12522] newEntry+0x62
    一.问题描述在执行spark任务的时候,JVM崩溃.崩溃dump日志:##AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:##SIGBUS(0x7)atpc=0x00007f9adacb9522,pid=107874,tid=0x00007f9add417700##JREversion:Java(TM)SERuntimeEnvironme......
  • 博客园自定义主题
    开源项目非常感谢作者的工作,下面是github主页和官方文档https://github.com/BNDong/Cnblogs-Theme-SimpleMemoryhttps://bndong.github.io/Cnblogs-Theme-SimpleMemory/v2.1/dist/三方教程https://www.cnblogs.com/chenkeer/p/15193179.html常见错误说明修改后,博客页面一......
  • Day63 异常03:自定义异常及经验小结
    自定义异常使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。在程序中使用自定义异常类,大体可分为以下几个步骤:创建自定义异常类。在方法中通过throw关键字抛出异常对象。如果在当......
  • Java调用ChatGPT(基于SpringBoot和Vue)实现连续对话、流式输出和自定义baseUrl
     源码及更详细的介绍说明参见Git上的README.md文档https://github.com/asleepyfish/chatgpt本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo流式输出结合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatg......
  • easyui-datagrid 加载数据 方法二 ( 自定义返回值 json方式)
    效果图 html部分<tableclass="my_table"><tr><tdclass='my_dt_label'>主叫号码:</td><tdclass='my_dt_field'><inputtype='text'id='select_callerid&......
  • linux安装jdk17
    下载安装包cd/usr/local/jdkwgethttps://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz-P/usr/local/jdk/或wgethttp://49.232.8.65/jdk/jdk17/jdk-17_linux-x64_bin.tar.gz-P/usr/local/jdk/解压tarxf/usr/local/jdk-17_linux-x64_bin.tar......
  • SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验
    本次给大家带来的SpringBoot中通过自定义注解+反射实现excel导入数据组装及字段校验的实现方式。这种实现方式其实是很普通、常规的方法,但很多同学在开发过程中,可能却不太容易想到他。当然我也是众多同学中的一员。1背景在前段时间的开发工作中,接手了一个很简单,很普通的开发任务。......
  • informer cache自定义索引
    informercache默认通过namespace/name作为key把对象保存到map中。条件查询时一般通过labels.Selector来过滤,但这需要遍历所有元素,informercache可以类似于MySQL那样建立索引,来提高查询速度。//map根据指定的key来给对象分类//IndexFuncknowshowtocomputethesetofind......