Docker大法好-关于无图形界面linux运行Matlab的方法

3 篇文章 0 订阅
2 篇文章 0 订阅
在Linux服务器上尝试批量生成Matlab文件时,遇到图形界面安装不便的问题。首先尝试使用自动化脚本安装,但MD5校验失败。之后转向Docker方案,成功安装官方的MatlabDocker镜像,通过输入MathWorks账户信息或挂载license文件实现交互式使用或批量处理。
摘要由CSDN通过智能技术生成

有一个项目需要用到matlab在linux上批量生成文件。

一、脚本+压缩包安装(不work)

由于我用的是工作站,无法图形界面安装(linux远程开图像界面有多麻烦dddd)网上搜寻了很多linux安装matlab的教程,大多是先下载matlab 的linux版本的安装包,然后经过一系列的解压,挂载,安装,破解等操作。。可能中间还要经历无数的依赖缺失和关闭图形界面的配置操作。
于是我找到一篇文章,作者很用心,写了自动化安装脚本 https://zhuanlan.zhihu.com/p/394298249 ,底下评论都说有效,而且是点击即装,我那个高兴呀,二话不说就去百度网盘下载安装包和脚本,将近20G呀。。为此又买了个百度网盘会员(为什么国内没有个好一点网盘存储啊啊啊,百度网盘限速真的太伤了,其实google drive好很多 而且可以wget 下载)。总之,我吭哧吭哧下完,再吭哧吭哧上传到服务器,然后开开心心运行安装脚本,结果第一步就懵逼,MD5 check失败!

xiaojin@proj150:~/Matlab_R2020a_Linux$ ./installMatlab.sh 
Checking ...
Matlab_R2020a_Lin64.tar.gz: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

xiaojin@proj150:~/Matlab_R2020a_Linux$ md5sum Matlab_R2020a_Lin64.tar.gz 
d5471f224a3fdaee498a7fcbcd19e5c1  Matlab_R2020a_Lin64.tar.gz
xiaojin@proj150:~/Matlab_R2020a_Linux$ cat CODE.md5 
0c299e5b3a1cf3843b42e0c8e9b1375e  Matlab_R2020a_Lin64.tar.gz

17G的大文件,没下载完,但百度网盘又告诉你你确实下载完了,中途一个错误都没报。重新下载吧,结果md5值又变了,你上哪说理去= =

$ md5 Matlab_R2020a_Lin64.tar.gz
MD5 (Matlab_R2020a_Lin64.tar.gz) = 8b4115556d66ee3f9573d26e6f65aa55

下载+传输已经浪费一天时间了,果断放弃寻找他法。

二、Docker 大法(如果自己有matlab账号,那么强烈推荐此方法!)

我是喜欢用docker的,干净,方便。
抱着试一试的心态搜 Matlab的docker版本。居然真的有,而且是官方版本!
安装了一下几乎没有费什么力气就测试成功了:

docker run -it --rm --shm-size=512M mathworks/matlab:r2022b

Running matlab 
MATLAB is selecting SOFTWARE OPENGL rendering.
Please enter your MathWorks Account email address and press Enter:
<your user name>@email.xxx
Please enter your MathWorks Account password and press Enter:
<enter your password>
Starting MATLAB with license: 40821746 - MATLAB (Individual)

                                                         < M A T L A B (R) >
                                               Copyright 1984-2022 The MathWorks, Inc.
                                          R2022b Update 3 (9.13.0.2126072) 64-bit (glnxa64)
                                                          November 17, 2022

 
To get started, type doc.
For product information, visit www.mathworks.com.
 
>> a=[1,2,3;4,5,6;7,8,9];
>> b=[2;3;3];
>> a*b

ans =

    17
    41
    65

>> exit
>

总结一下步骤:

  1. 安装docker

需要注意的是如果在生产环境 sudo systemctl daemon-reload谨慎使用

  1. 拉取Matlab Docker image 参考 https://hub.docker.com/r/mathworks/matlab
docker pull mathworks/matlab
  1. 不出意外,matlab可以正常使用了!
  • 交互式界面
$ docker run -it --rm --shm-size=512M mathworks/matlab:r2022b

注意!需要你输入有license的账户和密码哦。如果是在学校,一般会有教育账户的。我这里是直接输入了我的账号。

  • 用license file启动
    如果你有license file ,可以把他mount到matlab容器里。下面的命令 MLM_LICENSE_FILE即为你的license file。rand为matlab命令,如果license file正确,下面的语句会运行然后容器自动退出。
$ docker run --rm -v /path/to/local/license/file:/licenses/license.lic -e MLM_LICENSE_FILE=/licenses/license.lic mathworks/matlab:r2022b -batch rand
  • 打开网页版
$ docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2022b -browser
  • 进入container 内部 然后用bash运行脚本
$ docker run -it --rm --shm-size=512M mathworks/matlab:r2022b -shell
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值