当前位置: 首页 > article >正文

docker-制作镜像gcc添加jdk运行java程序

最近的项目需要使用java调用c++的链接库,.OS文件,一开始准备在jdk的镜像下去安装c++的环境,不过安装的内容很多,比较复杂也容易缺很多的包,经过实验,我们决定使用gcc的镜像安装jdk来正确的运行java程序。

基础镜像

FROM gcc:13.3.0

我们使用gcc13.3,大家可以根据需要选择版本

复制jar包

COPY xxx.jar /app/xxx.jar

复制我们的业务jar包到镜像中

复制jdk并配置环境变量

RUN mkdir -p /usr/local/java
COPY jdk-8u151-linux-x64.tar.gz /usr/local/java
WORKDIR /usr/local/java
RUN tar -zxvf jdk-8u151-linux-x64.tar.gz
RUN ls
RUN ln -s /usr/local/java/jdk1.8.0_151 /usr/local/java/jdk
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH

暴露应用端口

EXPOSE 8999

运行

ENTRYPOINT ["java", "-jar", "xxx.jar"]

dockerfile这样进行配置就可以完成gcc添加jdk运行java程序了,下面是完整的dockerfile

# 使用官方的OpenJDK镜像作为基础镜像
FROM gcc:13.3.0

# 将构建好的JAR文件复制到镜像中
COPY xxx.jar /app/xxx.jar
RUN mkdir -p /usr/local/java
COPY jdk-8u151-linux-x64.tar.gz /usr/local/java
WORKDIR /usr/local/java
RUN tar -zxvf jdk-8u151-linux-x64.tar.gz
RUN ls
RUN ln -s /usr/local/java/jdk1.8.0_151 /usr/local/java/jdk
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH
RUN java -version
RUN chmod -R 777 /app/file
# 暴露应用默认端口
EXPOSE 8999
ENTRYPOINT ["java", "-jar", "xxx.jar"]```


http://www.kler.cn/a/519322.html

相关文章:

  • Java Web-Tomcat Servlet
  • 壁纸设计过程中如何增加氛围感
  • 电力场效应晶体管(电力 MOSFET),全控型器件
  • 【C++探索之路】STL---string
  • Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
  • 接口(完)
  • 2025-1-25 c++学习中关于static,初始化列表,友元函数和友元类的问题
  • 算法:模拟的巧妙演绎
  • 【MySQL】 表的操作
  • 思科交换机telnet配置案例
  • 第23篇:Python开发进阶:详解测试驱动开发(TDD)
  • ubuntu22.04 系统 A100显卡 深度学习环境配置记录
  • 嵌入式知识点总结 ARM体系与架构 专题提升(二)-ARM处理器
  • Smalltalk语言是何物?面向对象鼻祖Simula的诞生?Simula和Smalltalk有什么区别?面向对象设计?
  • 嵌入式C语言:回调函数
  • Java实现经典算法题之模拟双指针用法
  • xss靶场
  • 免费获取Photoshop及其他设计软件的使用权限
  • FastExcel的使用
  • STM32项目分享:智能语音台灯
  • 视频网站服务器为什么需要使用负载均衡?
  • Lsky-Pro在线图片搭建教程(Docker部署方式)
  • 系统思考—动态问题分析
  • AF3 AtomAttentionDecoder类源码解读
  • 【Wordpress网站制作】切换语言的问题
  • 汇编基础语法及其示例