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

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条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

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

      悬赏问题

      • ¥30 grid.newpage() 中的错误 (main.R#9): no active device and default getOption("device") is invalid
      • ¥15 求一个超难的动态新增元素的 click 事件无效的解决办法。
      • ¥20 怎么修改mediawiki允许上传的文件大小?
      • ¥15 agrySEXPAYm 是毒吗
      • ¥50 Java实现注册登录实现数据库增删改查功能,数据库至少两个表
      • ¥20 求解R语言的数据分析问题
      • ¥20 求GD32F105和305解除读保护方法教程
      • ¥15 C++代码优化,复杂度太高,无法通过clang-tidy检查,用什么办法可以优=化
      • ¥15 关于跨链隐私保护方案
      • ¥15 node mongodb 根据id给子集合list添加对象 请问应该如何操作