主要内容

本页采用了机器翻译。点击此处可查看英文原文。

在容器中安装更新、工具箱、支持包和附加组件

您可通过两种方式在容器中安装更新、工具箱、支持包和附加组件:使用命令行进行编程安装,或通过虚拟网络计算(VNC)客户端进行交互式安装。

以编程方式安装

要通过命令行以程序化方式在 MATLAB® 容器镜像中安装工具箱和支持包,请参阅此 GitHub® 存储库中的说明:基于 MATLAB Docker 镜像构建。此存储库允许您使用 MATLAB 包管理器,在 MATLAB Docker Hub 容器镜像的基础上构建容器镜像。

该存储库包含一个 Dockerfile,您可以使用 Docker® 构建命令来创建容器镜像。在 Docker 构建过程中,您可以传递参量来指定要安装的产品、设置 MATLAB 版本,并配置网络许可证管理器。或者,您也可以手动自定义存储库中的 Dockerfile,然后构建容器镜像。

视频演示

本视频演示如何通过在 Docker 构建过程中传递参量,使用存储库中的 Dockerfile 构建包含 MATLAB 及其工具箱的 Docker 容器。

交互式安装

您还可以在从 Docker Hub 获取的 MATLAB 容器中,以交互方式安装最新的 MATLAB 更新,或安装额外的工具箱、支持包和附加组件。然后,您可以将容器保存为新的容器镜像,从而避免重新安装您的更改。

本示例演示如何在容器中交互式地修改 MATLAB R2023b,并将该容器保存为新的容器镜像以备后续使用。

拉取 MATLAB 容器镜像

在命令行中运行以下命令,将 MATLAB 容器镜像下载到主机上:

docker pull mathworks/matlab:r2023b

若需下载其他版本的容器镜像,请将 r2023b 标签替换为所需的 MATLAB 版本,例如 r2023a。下载并提取容器镜像可能需要几分钟的时间。

在 VNC 模式下运行容器会话

要安装工具箱或更新 MATLAB,您必须在终端中输入以下命令,以 VNC 模式运行 MATLAB 容器:

docker run --init -it --rm -p 5901:5901 -p 6080:6080 --shm-size=512M mathworks/matlab:r2023b -vnc

选项 -p hostport:containerport 将 Docker 主机实例的端口映射到容器内部端口,以便您能够连接到容器桌面。该容器使用端口 5901 进行 VNC 连接,使用端口 6080 进行 Web 浏览器连接。若在同一主机实例上部署多个容器,必须递增主机端口直至找到可用端口。例如:

-p 5902:5901 -p 6081:6080

要连接到可打开 MATLAB 的桌面:

  • 使用 VNC 客户端连接至主机 Docker(即 localhost:1)的显示器 1。

  • 若您没有 VNC 客户端,请在浏览器中访问运行此容器(http://localhost:6080)的主机 Docker 的 6080 端口。

如果您的容器未在本地计算机上运行,请将 localhost 替换为容器运行计算机的完全合格域名 (FQDN)。

默认的 VNC 密码为 matlab

安装更新、工具箱、支持包和附加组件

要安装工具箱或更新 MATLAB,必须拥有超级用户特权,并以该特权运行 MATLAB。在容器会话内的终端中,使用以下命令以 root 特权启动 MATLAB:

sudo matlab
使用您的 MathWorks® 帐户登录 MATLAB。

您可以在 MATLAB 内部安装更新和工具箱。

  • 要安装更新,请参阅 更新现有安装

  • 要安装工具箱、支持包和附加组件,请转到 Home 选项卡,在 Environment 部分点击 Add-ons icon Add-Ons 图标。例如,若要将 Simulink® 添加到您的 MATLAB 容器中,请前往附加组件管理器并安装 Simulink。有关安装工具箱和附加功能的详细信息,请参阅获取和管理附加功能 (MATLAB)

安装更新和附加产品后,MATLAB 将重新启动。要验证更新以及附加工具箱和附加功能的安装情况,请在 MATLAB 命令行窗口中输入 ver

保存容器

安装所需更新和工具箱后,请将容器保存为新的容器镜像以备后用,避免重新安装更改内容。由于 --rm 标志会在关闭容器时将其移除,请勿关闭该容器。

在主机上打开一个新的命令行窗口。通过列出所有运行中容器的相关信息,查找运行中容器的容器 ID。

docker ps -a

CONTAINER ID        IMAGE                            COMMAND             CREATED              STATUS              PORTS                                            NAMES
3d555451f07a        nvcr.io/partners/matlab:r2020a   "/bin/run.sh"       24 minutes ago       Up 24 minutes       0.0.0.0:5901->5901/tcp, 0.0.0.0:6080->6080/tcp   relaxed_pasteur
本示例中的容器 ID 为 3d555451f07a

使用 docker commit 并添加 --change 标志来创建快照。您可以使用此快照,下次通过不同模式打开已保存的容器。

docker commit --change 'ENTRYPOINT ["/bin/run.sh"]' <container ID> matlabwithtoolboxes:r2023b

此命令将容器保存为名为 matlabwithtoolboxes:r2023b 的新容器镜像,该镜像运行于 Linux® 操作系统上。对于其他操作系统,请使用相应的引号。有关详细信息,请参阅在容器中保存更改

若需同时保存带 VNC 选项的容器,请省略 --change 标志。这使您下次默认可通过 VNC 模式运行已保存的容器。

docker commit <container ID> matlabwithtoolboxes:r2023b

另请参阅

主题

外部网站