メインコンテンツ

compiler.package.MicroserviceDockerImageOptions

マイクロサービス Docker オプション オブジェクトを作成

R2022a 以降

R2022a では、この関数は Linux® オペレーティング システムでのみサポートされています。

説明

opts = compiler.package.MicroserviceDockerImageOptions(results) は、compiler.build.Results オブジェクト results を使用して MicroserviceDockerImageOptions オブジェクト opts を作成します。Results オブジェクトは関数 compiler.build.productionServerArchive により作成されます。MicroserviceDockerImageOptions オブジェクトを関数 compiler.package.docker に入力として渡してビルド オプションを指定します。

opts = compiler.package.MicroserviceDockerImageOptions(results,Name,Value) は、compiler.build.Results オブジェクト results と、1 つ以上の名前と値の引数ペアとして指定された追加オプションを使用して、MicroserviceDockerImageOptions オブジェクト opts を作成します。オプションには、ビルド フォルダー、エントリ ポイント コマンド、イメージ名が含まれます。

opts = compiler.package.MicroserviceDockerImageOptions('ImageName',imageName) は、imageName で指定されたイメージ名を使用して、既定の MicroserviceDockerImageOptions オブジェクトを作成します。

opts = compiler.package.MicroserviceDockerImageOptions('ImageName',imageName,Name,Value) は、imageName で指定されたイメージ名と、1 つ以上の名前と値の引数ペアとして指定された追加オプションを使って、汎用の MicroserviceDockerImageOptions オブジェクトを作成します。

すべて折りたたむ

Production Server アーカイブからのビルド結果を使用して MicroserviceDockerImageOptions オブジェクトを作成します。

magicsquare.m を使用して Production Server アーカイブを作成し、ビルド結果を 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';

MicroserviceDockerImageOptions オブジェクトと Results オブジェクトを関数 compiler.package.microserviceDockerImage に入力として渡して、マイクロサービス Docker® イメージをビルドします。

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

Production Server アーカイブからのビルド結果を使用して MicroserviceDockerImageOptions オブジェクトを作成し、名前と値の引数を使用してカスタマイズします。

magicsquare.m を使用して Production Server アーカイブを作成し、ビルド結果を 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 イメージに渡す追加のコマンド。文字ベクトル、string スカラー、または文字ベクトルの cell 配列として指定します。コマンドは Dockerfile に追加され、イメージの生成時に実行されます。

有効な Dockerfile コマンドの詳細については、https://docs.docker.com/engine/reference/builder/ を参照してください。

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

データ型: char | string

R2022b 以降

Docker イメージにインストールする追加の Ubuntu® 20.04 パッケージ。文字ベクトル、string スカラー、または文字ベクトルの cell 配列として指定します。

例: "AdditionalPackages","syslog-ng"

データ型: char | string

R2023b 以降

Docker コンテナーを実行する Linux ユーザーの名前。文字ベクトルまたは string スカラーとして指定します。この引数はシステムのユーザー命名規約に従っていなければなりません。指定したユーザーが作成時に存在しない場合、新しいユーザーが権限なしで作成されます。このプロパティが設定されていない場合、既定ではユーザー appuser、つまり DockerfileFROM コマンドで指定されたユーザーとしてコンテナーが実行されます。

例: "ContainerUser","root"

データ型: char | string

Docker イメージがビルドされるビルド フォルダーへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

パスを指定しない場合、関数は ImageNamedocker という名前のビルド フォルダーを現在の作業ディレクトリに作成します。

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

データ型: char | string

Docker イメージをビルドするためのフラグ。"on" または "off"、もしくは数値または logical の 1 (true) か 0 (false) として指定します。"on" の値は true と等価であり、"off" の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。

  • このプロパティを "on" に設定した場合、この関数は Docker イメージをビルドします。

  • このプロパティを "off" に設定した場合、この関数は 'docker build' を呼び出さずに DockerContext フォルダーを作成します。

例: "ExecuteDockerBuild","Off"

データ型: logical

Docker イメージの名前。文字ベクトルまたは string スカラーとして指定します。名前は Docker の命名規則に従っていなければなりません。Docker のリポジトリ名は小文字でなければなりません。メインの実行可能ファイルまたはアーカイブ ファイルの名前に大文字が使用されている場合、Docker イメージ名では大文字が小文字に置き換えられます。

例: "ImageName","magicsquare"

データ型: char | string

R2025a 以降

インストーラーに含めるオプションの MATLAB® Runtime 依存関係。次のいずれかとして指定します。

  • "none" — オプションの依存関係をインストーラーに含めないオプション。このオプションを使用して、生成されるインストーラーのサイズを最小化します。このオプションは既定の動作です。

  • "all" — すべてのオプションの依存関係をインストーラーに含めるオプション。グラフィカル サポートを含みます。

例: "RuntimeDelivery","installer"

データ型: char | string

R2023a 以降

カスタムの URL ルートを指定するサーバー上の JSON ファイルのパス。文字ベクトルまたは string スカラーとして指定します。

例: "RoutesFile","routes.json"

データ型: char | string

R2023b 以降

MATLAB Runtime イメージの名前。文字ベクトルまたは string スカラーとして指定します。関数 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 で導入