创建自定义 MATLAB 容器
通过使用基于 Dockerfile 创建的 MATLAB® 容器镜像,在云端或服务器环境中访问 MATLAB。当您需要在 Linux® 环境中创建包含自定义 MATLAB 安装的 Docker® 容器镜像时,请使用此解决方案。
或者,若需直接从 Docker Hub 拉取现成的 MATLAB 容器镜像,请参阅Docker Hub 上的 MATLAB 容器。
要求
要创建并使用自定义的 MATLAB 容器,您需要:
一台安装了 Docker 和 Git™ 的主机。
通过网络许可证管理器管理的 MATLAB 许可证,需满足以下条件:
关联到一个 MathWorks 帐户。
已配置为在云端使用。您可以通过查看您的 MathWorks 帐户来识别您的许可证类型和管理员。管理员可咨询管理网络许可证。
要在容器中许可 MATLAB,必须提供网络许可证管理器的端口号和 DNS 地址。您可以在构建容器镜像时或启动容器时添加此信息。
在构建容器镜像时设置此信息,请向
docker build命令添加以下形式的选项:--build-arg LICENSE_SERVER=27000@MyLicenseServer
或者,您可以在构建容器镜像时使用许可证文件来指定许可证管理器的路径。若需在容器镜像中使用网络命名许可证类型,必须在执行
docker build命令前,先在 Dockerfile 中添加用户名。构建容器镜像后,使用与许可证关联的特定用户名运行容器。有关详细信息,请参阅在容器中使用网络命名许可证。要设置此信息,请在运行容器镜像时向
docker run命令添加以下形式的选项:-e MLM_LICENSE_FILE=27000@MyLicenseServer
在容器中使用网络命名许可证
若您使用的是与容器关联的网络命名许可证,则必须使用与该许可证关联的特定用户名运行容器。容器镜像构建完成后无法向容器中添加用户,因此请务必在构建容器镜像前,将可能需要使用的用户名构建到 Dockerfile 中。
要为容器定义用户,请在 Dockerfile 中添加用户,然后以指定用户身份运行容器。以下 Dockerfile 命令将指定用户添加到容器中:
RUN useradd -ms /bin/bash <USERNAME>
接下来这个 Dockerfile 命令将容器设置为以指定用户身份运行:
USER <USERNAME>
-u 运行时标志将覆盖容器内置的任何 USER 命令。您可以使用此功能在运行时更改容器的用户。有关更多信息,请参阅 Docker 文档。
创建容器
要使用 Dockerfile 创建包含自定义 MATLAB 安装的 Docker 容器镜像,请遵循此 GitHub® 存储库中的说明:
其他可能性请参阅本 GitHub 存储库中 alternates 文件夹内的示例:
matlab-installer是一个示例 Dockerfile,它使用 MATLAB 安装程序而非 MATLAB 包管理器 (mpm) 在容器中安装 MATLAB,并允许您安装某些当前不受 MATLAB 包管理器支持的工具箱。building-on-matlab-docker-image是一个 Dockerfile 的示例,它基于 Docker Hub 上的 MATLAB 容器镜像构建,用于安装额外的工具箱。