Main Content

compiler.package.DockerOptions

Docker オプション オブジェクトの作成

R2020b 以降

説明

注意

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

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

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

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

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

すべて折りたたむ

Linux システムでスタンドアロン アプリケーションからのビルド結果を使用して、DockerOptions オブジェクトを作成します。

magicsquare.m を使用してスタンドアロン アプリケーションを作成し、ビルド結果を compiler.build.Results オブジェクトに保存します。

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

関数 compiler.build.standaloneApplication からのビルド結果を使用して、DockerOptions オブジェクトを作成します。

opts = compiler.package.DockerOptions(buildResults);

ドット表記を使用して既存の DockerOptions オブジェクトのプロパティ値を変更できます。たとえば、ビルド フォルダーを設定します。

opts.DockerContext = 'myDockerFiles';

DockerOptions オブジェクトと Results オブジェクトは、Docker® イメージをビルドするために、関数 compiler.package.docker に入力として渡されます。

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

スタンドアロン アプリケーションからのビルド結果を使用して DockerOptions オブジェクトを作成し、名前と値の引数を使用してカスタマイズします。

magicsquare.m を使用してスタンドアロン アプリケーションを作成し、ビルド結果を compiler.build.Results オブジェクトに保存します。

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

関数 compiler.build.standaloneApplication からのビルド結果を使用して、DockerOptions オブジェクトを作成します。名前と値の引数を使用してイメージ名とビルド フォルダーを指定します。

opts = compiler.package.DockerOptions(buildResults,...
'DockerContext','Docker/MagicSquare',...
'ImageName','magic-square-')
opts = 

  DockerOptions with properties:

                EntryPoint: 'magicsquare'
                 ImageName: 'magic-square-'
              RuntimeImage: ''
    AdditionalInstructions: {}
        AdditionalPackages: {}
        ExecuteDockerBuild: on
             ContainerUser: 'appuser'
             DockerContext: './Docker/MagicSquare'
            VerbosityLevel: 'verbose'

既定の DockerOptions オブジェクトを作成してイメージ名を指定します。

DockerOptions オブジェクトを作成します。

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

  DockerOptions with properties:

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

ドット表記を使用して既存の DockerOptions オブジェクトのプロパティ値を変更できます。たとえば、'docker build' を呼び出さずに DockerContext フォルダーを作成します。

opts.ExecuteDockerBuild = 'Off'
opts = 

  DockerOptions with properties:

                EntryPoint: ''
                 ImageName: 'helloworld'
              RuntimeImage: ''
    AdditionalInstructions: {}
        AdditionalPackages: {}
        ExecuteDockerBuild: off
             ContainerUser: 'appuser'
             DockerContext: './helloworlddocker'
            VerbosityLevel: 'verbose'

イメージ名を使用して DockerOptions オブジェクトを作成し、名前と値の引数を使用してカスタマイズします。

DockerOptions オブジェクトを作成します。名前と値の引数を使用してビルド フォルダーとエントリ ポイント コマンドを指定します。

opts = compiler.package.DockerOptions('ImageName','myapp',...
'DockerContext','Docker/MyDockerApp',...
'EntryPoint',"exec top -b")
opts = 

  DockerOptions with properties:

                EntryPoint: 'exec top -b'
                 ImageName: 'myapp'
              RuntimeImage: ''
    AdditionalInstructions: {}
        AdditionalPackages: {}
        ExecuteDockerBuild: on
             ContainerUser: 'appuser'
             DockerContext: './Docker/MyDockerApp'
            VerbosityLevel: 'verbose'

入力引数

すべて折りたたむ

compiler.build 関数により作成されたビルド結果。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® 22.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

イメージの起動時に実行するコマンド。文字ベクトルまたは string スカラーとして指定します。

例: 'EntryPoint','exec top -b'

データ型: 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

R2023b 以降

MATLAB Runtime イメージの名前。文字ベクトルまたは string スカラーとして指定します。関数 compiler.runtime.createDockerImage (MATLAB Compiler SDK) を使用して、複数のアプリケーションを実行できるカスタムの 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 イメージのビルド オプション。DockerOptions オブジェクトとして返されます。

制限

  • R2020b の時点では、スタンドアロン アプリケーションのみを Docker イメージにパッケージ化できます。

バージョン履歴

R2020b で導入