weixin_48391393 2023-05-26 17:55 采纳率: 0%
浏览 126
已结题

docker部署jar,需要matlab runtime环境

项目中使用到了matlab生成的jar,需要采用docker形式部署,涉及到matlab运行环境matlab runtime。
试过windows和linux安装matlab runtime环境后直接运行jar程序都可以正常使用,是项目没有问题的。
现在情况是打成docker镜像启动后项目执行失败,原因是没有matlab的运行环境。
试过docker exec进入镜像中安装matlab runtime,和在构建镜像时进行安装都无法正常安装。
matlab runtime版本2021a。jdk1.8

  • 写回答

9条回答 默认 最新

  • PhoenixRiser 2023-05-26 23:41
    关注
    获得1.50元问题酬金

    TechWhizKid参考GPT回答:

    • 在Docker中运行MATLAB Runtime环境,要在Dockerfile中构建这个环境。这是一个可能的Dockerfile,可以用于安装MATLAB Runtime和运行你的jar文件。你可能要根据你的实际情况对以下的Dockerfile进行一些修改。
    • 假设你已经把MATLAB Runtime安装器(版本为2021a)下载到了你的项目目录,文件名为MCR_R2021a_glnxa64_installer.zip,并且你的jar文件叫做my_project.jar

    Dockerfile可能如下:

    FROM openjdk:8
    
    WORKDIR /app
    
    # 将 MATLAB Runtime 安装程序复制到 Docker 镜像中
    COPY MCR_R2021a_glnxa64_installer.zip /app/
    
    # 安装 MATLAB Runtime 需要的额外库
    RUN apt-get update && apt-get install -y \
        unzip \
        xorg \
        libxt6 \
        libxmu6 \
        libXp6 \
        libXpm4 \
        libXmu6 \
        libXt6 \
        libXext6 \
        libXp6 \
        libXpm4 \
        && rm -rf /var/lib/apt/lists/*
    
    # 解压缩安装程序
    RUN unzip MCR_R2021a_glnxa64_installer.zip
    
    # 运行安装程序
    RUN ./install -mode silent -agreeToLicense yes
    
    # 删除安装程序以节省 Docker 镜像的空间
    RUN rm -rf MCR_R2021a_glnxa64_installer.zip install
    
    # 设置 MATLAB Runtime 路径
    ENV LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Runtime/v910/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/extern/bin/glnxa64
    
    # 将您的 jar 文件复制到 Docker 镜像中
    COPY my_project.jar /app/
    
    CMD ["java", "-jar", "my_project.jar"]
    
    • 这个Dockerfile首先基于OpenJDK 8创建一个新的Docker镜像。然后它将MATLAB Runtime安装器复制到Docker镜像并安装它。它还安装了一些MATLAB Runtime要的额外库。然后它设置了MATLAB Runtime的路径,最后运行你的jar文件。
    • 因为MATLAB Runtime和其所需的库占用了一定的空间,所以最后构建出来的Docker镜像可能会比较大。你可能要在你的Docker配置中分配更多的磁盘空间。
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月3日
  • 赞助了问题酬金50元 5月26日
  • 创建了问题 5月26日

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧