主要内容

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

在容器中保存更改

若在容器内进行修改,可将该容器保存为新的容器镜像以备后续使用。这些变更包括:

  • 在容器内保存文件或数据集

  • 在容器内为 MATLAB® 安装更新、附加工具箱或插件

随后,您无需再次进行修改即可部署更新后的容器版本。

要保存更改,请在容器中完成修改后且容器仍在运行时执行以下步骤。

获取容器 ID

若您正在使用远程 Docker® 主机,请在客户端机器上通过 PuTTY 或其他访问 Docker 主机的方式,另开连接至运行容器的 Docker 主机,并启动容器。若您正在使用本地 Docker 主机,请打开一个新的终端窗口。

在新终端或连接中,使用此命令获取正在运行的容器的容器 ID。此命令将显示当前正在运行的所有容器的详细信息。选择您要保存的容器,并记下该容器的 ID。

docker ps -a

例如,假设您正在 MATLAB 容器中使用 MATLAB R2020a。您已在运行的容器中更新了 MATLAB,并希望将其保存以便日后使用。使用 docker ps -a 命令查找正在运行的容器的容器 ID。

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 命令。

docker commit <containerID> <repository>:<tag>
docker commit 命令会基于指定的容器 ID 在本地保存一个新的容器镜像。在此情况下,该命令将基于当前运行的容器保存容器镜像。您可以使用 docker images 命令查看本地可用的图像。

提交容器镜像并以名称 mymatlab:r2020a 保存。此命令同时提交了 VNC 选项。下次运行已保存的容器时,它将默认使用 VNC 模式。

docker commit 3d555451f07a mymatlab:r2020a

下次使用不同模式打开同一容器时,请使用 --change 标志。

docker commit --change 'ENTRYPOINT ["/bin/run.sh"]' 3d555451f07a mymatlab:r2020a

前一条命令将容器保存到 Linux® 操作系统上。对于其他操作系统,请使用相应的引号。例如,对于 Microsoft® Windows® 操作系统,请使用以下命令:

docker commit --change "ENTRYPOINT [\"/bin/run.sh\"]" 3d555451f07a mymatlab:r2020a

现在,您可以在 docker run 命令中指定更新后的容器标签来启动更新后的容器镜像。

另请参阅

主题