LouisZhoun 2022-05-27 15:42 采纳率: 100%
浏览 253
已结题

docker部署jar,但是需要matlab runtime环境,都需要docker形式部署

因为我的jar包用到了matlab runtime的环境, jar包docker部署也需要这个环境,找到个matlab的镜像https://hub.docker.com/r/demartis/matlab-runtime/tags%EF%BC%8C%E4%BD%86%E6%98%AFdockerfile%E9%87%8C%E9%9D%A2%E5%8A%A0%E4%BA%86%E4%B8%AA%E8%B7%9Fjdk%E4%B8%80%E6%A0%B7%E7%9A%84from%EF%BC%8C%E6%83%B3%E7%9A%84%E6%98%AF%E8%B7%9Fjdk%E4%B8%80%E6%A0%B7%E6%98%AFjar%E9%9C%80%E8%A6%81%E7%9A%84%E7%8E%AF%E5%A2%83%E3%80%82%E7%BB%93%E6%9E%9C%E5%A4%B1%E8%B4%A5%E3%80%82%E5%AF%BB%E6%B1%82%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95 ,有偿
如果是宿主机安装matlab runtime 需要配置一个环境变量LD_LIBRARY_PATH,在宿主机启动jar包会有加载这个library_path输出。但是采用docker后就不行、
不知道是不是dockerFile里面需要配这样一个环境变量还是咋的?
这里必须用docker也是应该客户需求,不能再宿主机安装东西。,只能docker容器形式。所以就寻求docker的方式来处理方法
一个项目多个docker怎么又打包成一个docker。
如果都能提供有效解决方案的话补偿金可以增加
附客户的环境:CentOS 7 LINUX VERSION4.17.12-1.1

qq:1158042016

附一个dockerFile规范:
Dockerfile规范
(1)基于dockerfile构建docker镜像时,默认情况下,当前的工作目录被称为构建上下文,我们也可以使用(-f)指定Dockerfile在不同的位置。无论dockerfile实际存在于哪里,当前目录中包含的文件和目录及其递归内容都将作为构建的上下文发送到dockerd daemon进程中。
(2)使用.dockerignore. 为了避免在编译镜像时一些无关紧要的文件,我们可以采用.dockerignore文件来排除文件和目录,类似.gitignore作用一样。使用多阶段编译。
(3)避免安装不必要的包,构建镜像应该尽可能减少复杂性、依赖关系、构建时间及镜像大小。
(4)减少layer数量。排序多行参数,通过版本管理时我们可以清楚看到我们修改的变化。例如需要安装很多依赖,docker 17.05以及更高版本添加了对多阶段构建的支持,这允许我们只将需要的构件复制到最终图像中即可。极大简化了最终镜像的大小。
(5)构建缓存。 Docker 构建镜像的过程是顺序执行 Dockerfile 每个指令的过程。执行过程中Docker 将在缓存中查找可重用的镜像,如果不想使用缓存,你也可以使用 docker build –no-cache=true … 命令

  • 写回答

4条回答 默认 最新

  • 太空眼睛 Java领域新星创作者 2022-05-28 19:38
    关注

    我知道怎么解决你的问题,docker这一块我很熟

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月8日
  • 已采纳回答 5月31日
  • 创建了问题 5月27日

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真