主要内容

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

compiler.package.MicroserviceDockerImageOptions

创建微服务 Docker 选项对象

自 R2022a 起

在 R2022a 中,该函数仅支持 Linux® 操作系统。

说明

opts = compiler.package.MicroserviceDockerImageOptions(results) 使用 compiler.build.Results 对象 opts 创建 MicroserviceDockerImageOptions 对象 resultsResults 对象由 compiler.build.productionServerArchive 函数创建。将 MicroserviceDockerImageOptions 对象作为输入传递给 compiler.package.docker 函数来指定构建选项。

示例

opts = compiler.package.MicroserviceDockerImageOptions(results,Name,Value) 使用 compiler.build.Results 对象 opts 和指定为一个或多个名称-值参量的附加选项创建 MicroserviceDockerImageOptions 对象 results。选项包括构建文件夹、入口点命令和图像名称。

示例

opts = compiler.package.MicroserviceDockerImageOptions('ImageName',imageName) 使用 imageName 指定的图像名称创建一个默认的 MicroserviceDockerImageOptions 对象。

示例

opts = compiler.package.MicroserviceDockerImageOptions('ImageName',imageName,Name,Value) 创建一个通用的 MicroserviceDockerImageOptions 对象,其中图像名称由 imageName 指定,附加选项指定为一个或多个名称-值参量对。

示例

示例

全部折叠

使用生产服务器存档的构建结果创建 MicroserviceDockerImageOptions 对象。

使用 magicsquare.m 创建生产服务器存档并将构建结果保存到 compiler.build.Results 对象。

copyfile(fullfile(matlabroot,'extern','examples','compiler','magicsquare.m'));
buildResults = compiler.build.productionServerArchive('magicsquare.m');

使用来自 compiler.build.productionServerArchive 函数的构建结果创建 MicroserviceDockerImageOptions 对象。

opts = compiler.package.MicroserviceDockerImageOptions(buildResults);

您可以使用点符号修改现有 MicroserviceDockerImageOptions 对象的属性值。例如,设置编译文件夹。

opts.DockerContext = 'myDockerFiles';

MicroserviceDockerImageOptionsResults 对象作为输入传递给 compiler.package.microserviceDockerImage 函数来构建微服务 Docker® 映像。

compiler.package.microserviceDockerImage(buildResults,'Options',opts);

使用生产服务器存档的构建结果创建 MicroserviceDockerImageOptions 对象,并使用名称-值参量对其进行自定义。

使用 magicsquare.m 创建生产服务器存档并将构建结果保存到 compiler.build.Results 对象。

copyfile(fullfile(matlabroot,'extern','examples','compiler','magicsquare.m'));
buildResults = compiler.build.productionServerArchive('magicsquare.m');

使用来自 compiler.build.productionServerArchive 函数的构建结果创建 MicroserviceDockerImageOptions 对象。使用名称-值参量指定图像名称和构建文件夹。

opts = compiler.package.MicroserviceDockerImageOptions(buildResults,...
'DockerContext','Docker/MagicSquareMicroservice',...
'ImageName','micromagic')
opts = 

  MicroserviceDockerImageOptions with properties:

                RoutesFile: ''
                 ImageName: 'micromagic'
              RuntimeImage: ''
    AdditionalInstructions: {}
        AdditionalPackages: {}
        ExecuteDockerBuild: on
             ContainerUser: 'appuser'
             DockerContext: './Docker/MagicSquareMicroservice'
            VerbosityLevel: 'verbose'

仅指定图像名称即可创建通用的 MicroserviceDockerImageOptions 对象。

创建一个 MicroserviceDockerImageOptions 对象。

opts = compiler.package.MicroserviceDockerImageOptions('ImageName','helloworld')
opts = 

  MicroserviceDockerImageOptions with properties:

                RoutesFile: ''
                 ImageName: 'helloworld'
              RuntimeImage: ''
    AdditionalInstructions: {}
        AdditionalPackages: {}
        ExecuteDockerBuild: on
             ContainerUser: 'appuser'
             DockerContext: './helloworldmicroserviceDockerImage'
            VerbosityLevel: 'verbose'

使用映像名称创建 MicroserviceDockerImageOptions 对象并使用名称-值参量对其进行自定义。

创建一个 MicroserviceDockerImageOptions 对象。使用名称-值参量指定图像名称和构建文件夹。

opts = compiler.package.MicroserviceDockerImageOptions('ImageName','myapp',...
'DockerContext','Docker/MyDockerApp')
opts = 

  MicroserviceDockerImageOptions with properties:

                RoutesFile: ''
                 ImageName: 'myapp'
              RuntimeImage: ''
    AdditionalInstructions: {}
        AdditionalPackages: {}
        ExecuteDockerBuild: on
             ContainerUser: 'appuser'
             DockerContext: './Docker/MyDockerApp'
            VerbosityLevel: 'verbose'

输入参数

全部折叠

compiler.build.productionServerArchive 函数构建结果,指定为 compiler.build.Results 对象。

Docker 镜像的名称。它必须符合 Docker 命名规则。

示例: 'hello-world'

数据类型: char | string

名称-值参数

全部折叠

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

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

示例: "ExecuteDockerBuild","on"

自 R2022b 起

传递给 Docker 映像的附加命令,指定为字符向量、字符串标量或字符向量元胞数组。命令被添加到 Dockerfile 并在映像生成期间执行。

有关有效 Dockerfile 命令的信息,请参阅 https://docs.docker.com/engine/reference/builder/

示例: "AdditionalInstructions",{"RUN mkdir /myvol","RUN echo "hello world" > /myvol/greeting","VOLUME /myvol"}

数据类型: char | string

自 R2022b 起

要安装到 Ubuntu® 映像中的附加 Docker 20.04 软件包,指定为字符向量、字符串标量或字符向量元胞数组。

示例: "AdditionalPackages","syslog-ng"

数据类型: char | string

自 R2023b 起

Linux 容器将以 Docker 用户的名称运行,指定为字符向量或字符串标量。该参量必须符合系统用户命名标准。如果指定的用户在创建时不存在,则将创建一个没有权限的新用户。如果未设置该属性,容器将默认以用户 appuser 运行,或者以 FROM 中的 Dockerfile 命令中指定的用户运行。

示例: "ContainerUser","root"

数据类型: char | string

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

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

示例: "DockerContext","/home/mluser/Documents/MATLAB/docker/magicsquaredocker"

数据类型: 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

Docker 映像的名称,指定为字符向量或字符串标量。名称必须符合 Docker 命名规则。Docker 存储库 Docker 必须小写。如果主可执行文件或存档文件使用大写字母命名,则 Docker 映像名称中的大写字母将替换为小写字母。

示例: "ImageName","magicsquare"

数据类型: char | string

自 R2025a 起

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

  • "none" - 使用此选项则不会将任何可选依赖项包含在安装程序中。使用此选项可最大程度减小生成的安装程序的大小。此选项是默认行为。

  • "all" - 使用此选项可将所有可选依赖项包含在安装程序中,包括图形化支持。

示例: "RuntimeDelivery","installer"

数据类型: char | string

自 R2023a 起

指定服务器上的自定义 URL 路由的 JSON 文件的路径,指定为字符向量或字符串标量。

示例: "RoutesFile","routes.json"

数据类型: char | string

自 R2023b 起

MATLAB Runtime 图像的名称,指定为字符向量或字符串标量。您可以使用 compiler.runtime.createDockerImage 函数创建可运行多个应用程序的自定义 MATLAB Runtime 映像。如果未指定,MATLAB Compiler™ 将生成一个选择性的 MATLAB Runtime 映像,该映像只能运行打包的应用程序。

示例: "RuntimeImage","mcrimage"

数据类型: char | string

自 R2023b 起

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

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

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

  • "none" - 不显示输出。

示例: "VerbosityLevel","concise"

数据类型: char | string

输出参量

全部折叠

微服务 Docker 映像构建选项,以 MicroserviceDockerImageOptions 对象形式返回。

版本历史记录

在 R2022a 中推出