在容器中保存更改
若在容器内进行修改,可将该容器保存为新的容器镜像以备后续使用。这些变更包括:
在容器内保存文件或数据集
在容器内为 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
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 命令中指定更新后的容器标签来启动更新后的容器镜像。