如何通过shell脚本传入MathWorks凭证运行Matlab Docker镜像
MATLAB Docker镜像凭证传入及许可证使用方案
1. 交互式凭证自动化传入(支持shell脚本实现)
官方MATLAB镜像支持通过环境变量直接传入账号信息,无需手动交互输入,完全可以集成到shell脚本中实现自动化运行,参考命令如下:
docker run -it --rm \ -e MATHWORKS_ACCOUNT=你的MathWorks注册邮箱 \ -e MATHWORKS_PASSWORD=你的账号密码 \ mathworks/matlab:latest
写进shell脚本的操作步骤:
- 将上述命令写入后缀为
.sh的文件,比如run_matlab.sh - 执行
chmod +x run_matlab.sh给脚本添加执行权限 - 直接运行
./run_matlab.sh即可自动完成认证启动容器
注意:不要将带明文密码的脚本直接提交到代码仓库,生产环境建议通过密钥管理服务动态拉取密码赋值给环境变量,避免凭证泄露。
2. license.lic许可证文件使用方法
如果你已有本地许可证文件,可以直接挂载许可证跳过账号认证步骤,无需传入账号密码,操作更安全便捷,参考命令如下:
docker run -it --rm \ # 替换尖括号内容为你本地存放license.lic的目录绝对路径 -v <本地许可证目录绝对路径>:/opt/mathworks/licenses \ -e MLM_LICENSE_FILE=/opt/mathworks/licenses/license.lic \ mathworks/matlab:latest
额外说明:
- 启动前建议给许可证文件设置可读权限:
chmod 644 license.lic,避免容器无权限读取文件导致激活失败 - 如果你使用的是网络浮动许可证,不需要挂载本地文件,直接将
MLM_LICENSE_FILE的值设置为端口@许可证服务器地址即可,示例:-e MLM_LICENSE_FILE=27000@192.168.1.100
内容的提问来源于stack exchange,提问作者pete2213
相关产品推荐
相关产品推荐

