朋友需要帮忙用服务器资源跑个matlab程序 。 但我不用matlab,服务器上没有matlab的环境,于是想到了用docker. 网上搜到是有这三个镜像 :

mathworks/matlabmathworks/matlab-depsmathworks/matlab-deep-learning

朋友就是算个简单的东西 ,于是我选了第一个。

拉镜像需要点时间

docker pull mathworks/matlab:R2022b

最开始是bash里面直接跑 然后提示错误:‘syms’ requires Symbolic Math Toolbox. 意思就是缺了symbolic这个库,需要安装。 网上搜了一圈了解到装工具箱需要gui界面

浏览器运行

docker run -itd --shm-size=512M -p 8888:8888 -v /path/:/container_path mathworks/matlab:R2022b -browser

容器内的端口就按8888来;要是宿主机的端口有冲突可以换一个,到时候浏览器访问的也记得按你后面选的端口来

浏览器输入:服务器ip:8888

但是吧,这个模式不支持工具箱安装。具体报什么我忘记了。

通过vnc远程运行

docker run -itd --shm-size=512M -p 5901:5901 -p 6080:6080 -v /path/:/container_path mathworks/matlab:R2022b -vnc

容器内的端口就按5901和6080来;要是宿主机的端口有冲突可以换一个,到时候浏览器访问的也记得按你后面选的端口来

5901是vnc的端口,需要vnc客户端; 没有vnc客户端也没事,可以通过浏览器输入:服务器Ip:6080 ,会进入一个远程桌面,双击即可打开,然后就是填写账号密码。

权限问题

但是在添加工具箱的时候,碰到的问题类似于这个,也是没权限写入: ubuntu MATLAB 安装 toolbox 时遇到“Unable to write to /usr/local/MATLAB/R2022b“ 但这方法对我不管用,sudo chown 半天没反应,想su一下也不知道root的密码(容器是官方提供的)。

然后就逛文档,发现可以在启动的时候,在终端用sudo起matlab。像这样: 在终端中输入sudo matlab

sudo matlab

这次打开就有root权限了,可以顺利的安装工具箱了。

官方文档1.MATLAB Container on Docker Hub. 链接 官方文档2.Install Updates, Toolboxes, Support Packages, and Add-Ons in Containers. 链接

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: