主要内容

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

compiler.runtime.createDockerImage

创建包含 MATLAB RuntimeDocker 映像

自 R2023b 起

说明

compiler.runtime.createDockerImage(results) 使用 compiler.build.Results 对象 results 的向量创建 MATLAB® Runtime Docker® 映像。results 对象可以由任何 compiler.build 函数创建。

示例

compiler.runtime.createDockerImage(filepath) 使用由 MATLAB Compiler™ 生成的 buildresult.json 文件列表,创建一个 MATLAB Runtime Docker 映像。

示例

compiler.runtime.createDockerImage(___,Name,Value) 创建一个 MATLAB Runtime Docker 映像,并将附加选项指定为一个或多个名称-值参量。选项包括构建文件夹、详细程度和图像名称。

示例

name = compiler.runtime.createDockerImage(___) 创建一个 MATLAB Runtime Docker 映像并以字符向量的形式返回映像的名称。

示例

示例

全部折叠

创建一个可以运行两个独立应用程序 Docker 容器的 MATLAB Runtime Docker 映像。

在您的系统上安装并配置 Docker

使用 compiler.build.standaloneApplication 创建两个独立的应用程序。将每个函数的输出保存为 compiler.build.Results 对象。

results1 = compiler.build.standaloneApplication('magicsquare.m');

results2 = compiler.build.standaloneApplication('houdini.mlapp');

创建可用于部署的独立应用程序的 MATLAB Runtime Docker 映像。

name = compiler.runtime.createDockerImage([results1,results2]);

为每个独立应用程序创建一个 Docker 映像。将您创建的 MATLAB Runtime 映像的名称指定为 compiler.package.docker 函数的输入。

compiler.package.docker(results1,'RuntimeImage',name)

compiler.package.docker(results2,'RuntimeImage',name)

部署 Docker 镜像。有关详细信息,请参阅将 MATLAB 独立应用程序打包为 Docker 镜像

需要 MATLAB Compiler SDK™

创建一个可以运行两个微服务 Docker 容器的 MATLAB Runtime Docker 映像。

使用 compiler.build.productionServerArchive 创建两个生产服务器存档。

results1 = compiler.build.productionServerArchive('addmatrix.m',...
'OutputDir','add');

results2 = compiler.build.productionServerArchive('eigmatrix.m',...
'OutputDir','eig');

创建可用于这两个微服务的 MATLAB Runtime Docker 映像。使用名称-值参量指定图像名称和构建文件夹。

compiler.runtime.createDockerImage(["add/buildresult.json",...
"eig/buildresult.json"],'ImageName','micro-combo-image',...
'DockerContext','runtime')

为每个生产服务器存档创建一个微服务 Docker 映像。将您创建的 MATLAB Runtime 映像的名称指定为 compiler.package.microserviceDockerImage 函数的输入。

compiler.package.microserviceDockerImage(results1,...
'ImageName','add-micro','RuntimeImage','micro-combo-image');

compiler.package.microserviceDockerImage(results2,...
'ImageName','eig-micro','RuntimeImage','micro-combo-image');

部署微服务。有关详细信息,请参阅创建微服务 Docker 镜像 (MATLAB Compiler SDK)

使用自定义基础层映像创建一个 MATLAB Runtime Docker 映像。有关此示例的更多详细信息,请参阅 使用自定义底图创建 Docker 图像

在您的系统上安装并配置 Docker

使用 compiler.build.standaloneApplication 创建独立应用程序。将输出保存为 compiler.build.Results 对象。

results1 = compiler.build.standaloneApplication('magicsquare.m');

使用 Dockerfile 创建自定义基础镜像。在此示例中,请创建一个名为 Dockerfile.customdeps 的新文件,用于指定 Linux 发行版并安装 MATLAB Runtime 所需的所有依赖项。您可以添加自定义命令或依赖项,以满足您的部署需求。

在 MATLAB 命令行窗口中,使用 Docker 和您创建的 Dockerfile 构建自定义基础镜像。

depsImageName = "mycompanybase:r2024b";
system("docker build -f Dockerfile.customdeps -t " + depsImageName + " .");

创建一个名为 MATLAB Runtime Docker 的映像层,该层使用您创建的自定义基础层。

runtimeImageName = "custom-matlabruntime:r2024b";
compiler.runtime.createDockerImage(buildResults, ...
    "BaseImage",depsImageName, ...
    "ImageName",runtimeImageName)

为独立应用程序层创建一个 Docker 镜像。将您创建的 MATLAB Runtime 映像的名称指定为 compiler.package.docker 函数的输入。

compiler.package.docker(buildResults, ...
    "ImageName","mymagicimg","RuntimeImage",runtimeImageName);

部署 Docker 镜像。有关详细信息,请参阅将 MATLAB 独立应用程序打包为 Docker 镜像

输入参数

全部折叠

compiler.build 函数创建的一个或多个编译结果,例如 compiler.build.standaloneApplicationcompiler.build.productionServerArchive (MATLAB Compiler SDK),指定为由 compiler.build.Results 对象组成的向量。

示例: [results1,results2]

指向 buildresult.json 的一个或多个路径,以字符向量或字符串标量形式指定。该文件由 MATLAB Compiler SDK 生成。该路径可以是相对于当前工作目录的路径,也可以是绝对路径。在 R2025a 之前的版本中,请使用 requiredMCRProducts.txt 代替 buildresult.json

示例: ["fun1/buildresult.json","fun2/buildresult.json"]

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例:

FROM 行中用于创建 MATLAB Runtime 映像的基本 Docker 映像的名称,指定为字符向量或字符串标量。如果未指定此属性,则会创建具有所有必需依赖项的基础映像。

示例: 'BaseImage','matlab-deps'

数据类型: char | string

构建 Docker 映像的构建文件夹的路径,指定为字符向量或字符串标量。该路径可以是相对于当前工作目录的路径,也可以是绝对路径。

如果未指定路径,该函数会在当前工作目录中创建一个名为 ImageNameruntime 的构建文件夹。

示例: 'DockerContext','./docker/magicruntime'

数据类型: char | string

用于构建 Docker 映像的标志,指定为 'on''off',或者指定为数字或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true,值 'off' 等效于 false。因此,可以将此属性的值用作逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

  • 如果将此属性设置为 'on',则该函数将构建 Docker 映像。

  • 如果将此属性设置为 'off',则该函数将填充 DockerContext 文件夹而不调用“ docker build ”。

示例: 'ExecuteDockerBuild','Off'

数据类型: logical

MATLAB Runtime Docker 映像的名称,指定为字符向量或字符串标量。名称必须符合 Docker 命名规则。Docker 存储库 Docker 必须小写。如果指定,则此属性将用作 name 输出参量。

如果未指定,默认图像名称类似于以下内容:

matlabruntime/r2026a/update0/1000000000000000

示例: 'ImageName','magicruntime'

数据类型: char | string

自 R2025a 起

要包含在安装程序中的可选 MATLAB Runtime 依赖项,指定为以下选项之一:

  • 'none' - 该选项用于在镜像中不包含任何可选依赖项。使用此选项可缩小生成的图像尺寸。此选项是默认行为。

  • 'all' - 选项,用于在镜像中包含所有可选依赖项,包括图形支持。

示例: 'OptionalDependencies','all'

数据类型: char | string

输出详细程度,指定为下列选项之一:

  • 'verbose'(默认)- 显示所有屏幕输出,包括来自命令“ docker pull ' 和 ' docker build ' 的 Docker 输出。

  • 'concise' - 显示不带 Docker 输出的进度信息

  • 'none' - 不显示输出。

示例: 'VerbosityLevel','concise'

数据类型: char | string

输出参量

全部折叠

生成的 MATLAB Runtime Docker 映像的名称,指定为字符向量。您可以使用 ImageName 属性设置名称。

数据类型: char

限制

  • 此功能需要安装 Docker。在 macOS 上,支持 Docker Desktop。在 Windows® 上,支持 Docker 桌面版和 WSL2 中的 Docker。

版本历史记录

在 R2023b 中推出

全部展开