メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

webapps-containers

Linux システム上の Docker コンテナで MATLAB ウェブ アプリを実行するための環境をセットアップする

R2022b 以降

Docker® コンテナーで MATLAB® Web アプリを実行するには、MATLAB ランタイム R2022b 以上を使用する必要があります。MATLAB Runtime の以前のバージョンはサポートされていません。ただし、コンテナー内で Web アプリを実行する予定がない場合は、R2019b 以前のバージョンの MATLAB Runtime を引き続き使用できます。

R2022b より前の MATLAB Compiler™ バージョンで構築された Web アプリは、コンテナー化された環境では実行できません。この制限に対処するには、Web アプリを MATLAB Compiler バージョン R2022b 以降のリリースで再パッケージ化します。

説明

webapps-containers [on | off] は、コンテナー内で MATLAB Web アプリを実行するために必要な Docker 環境をセットアップまたは破棄します。変更を有効にするには、このコマンドを実行した後、webapps-restart を使用してサーバーを再起動する必要があります。

webapps-containers on を実行しています:

  • Ubuntu® Linux® オペレーティング システム、依存ライブラリ、およびベース イメージのカスタマイズで構成される、タグR2025a を持つ mw-webapps-worker という名前のベース Docker イメージを作成します。

  • Docker コンテナ用のネットワークを作成します。

  • use_for_workers キーを 1 に設定することで、コンテナー内での Web アプリの実行を有効にします。

  • ウェブ アプリがコンテナー用に作成されたネットワーク内でのみ実行され、インターネットにアクセスできないようにファイアウォールを構成します。

webapps-containers off を実行すると、Web アプリを実行するために作成された Docker 環境が破棄されます。構成キーに割り当てられた値は保持されます。

webapps-containers status は、Docker 環境のセットアップ ステータスを返します。コンテナの使用が enableddisabled か、および Docker ベース イメージが presentmissing かを示します。

webapps-containers config get はコンテナ全体の構成を返します。

webapps-containers config get keyname は、キー keyname に関連付けられたコンテナ構成値を返します。

webapps-containers config set keyname val は、コンテナ構成キー keyname に値 val を割り当てます。変更を有効にするには、このコマンドを実行した後、webapps-restart を使用してサーバーを再起動する必要があります。

webapps-containers net options を使用すると、options を調整してコンテナ ネットワークのネットワーク設定を変更できます。

netパラメーターに渡されたオプションは、サーバーの再起動時には保持されません。再起動後もオプションを保持するには、それらを /local/MathWorks/webapps/R2025a/config/webapps_private/containers-firewall-init.sh ファイルに保存します。

すべて折りたたむ

コンテナー内で MATLAB Web アプリを実行するためにホスト マシンを準備します。

sudo ./webapps-containers on
Installing Docker support for MATLAB Web App Server...
Building base image, this may take a while...
Copying default containers-firewall-init.sh
Enabling firewall service ...
Applying permanent firewall settings ...
Containers support was successfully enabled. 
Run "sudo /usr/local/MATLAB/MATLAB_Web_App_Server/R2025a/script/webapps-restart" to apply.

ステータスを確認してください。

sudo ./webapps-containers status
Container support: enabled
Base image: present

変更を適用するにはサーバーを再起動します。

sudo ./webapps-restart
Restarting server...

The server has started successfully.
   Homepage: http://hostname:9988/webapps/home/
Apps Folder: /local/MathWorks/webapps/R2025a/apps
Logs Folder: /local/MathWorks/webapps/R2025a/logs

すべてのキーのコンテナ構成を取得します。

sudo ./webapps-containers config get
use_for_workers: 1
memory: 2g
volumes: 
cpus: 
env:

特定のキーの構成を取得するには、keyname を指定します。

コンテナ化された環境で Web アプリを実行せず、コンテナのインスタンス化に使用される Docker イメージを保持する場合は、次のコマンドを実行します。

sudo ./webapps-containers config set use_for_workers 0
Setting "use_for_workers" successfully changed. 
Run "sudo /usr/local/MATLAB/MATLAB_Web_App_Server/R2025a/script/webapps-restart" to apply.

ステータスを確認してください。

sudo ./webapps-containers status
Container support: disabled
Base image: present

変更を適用するにはサーバーを再起動します。

sudo ./webapps-restart
Restarting server...

The server has started successfully.
   Homepage: http://hostname:9988/webapps/home/
Apps Folder: /local/MathWorks/webapps/R2025a/apps
Logs Folder: /local/MathWorks/webapps/R2025a/logs
sudo ./webapps-containers config set subnet 192.168.24.0/24
sudo ./webapps-containers net firewall on
Rules were successfully added.

ファイアウォールのルールを確認してください。

sudo ./webapps-containers net list
Rules for webapps container network 192.168.98.0/24:
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 RETURN     all  --  any    any     192.168.98.0/24      anywhere             state RELATED,ESTABLISHED
2        0     0 REJECT     all  --  any    any     192.168.98.0/24      anywhere             reject-with icmp-port-unreachable
sudo ./webapps-containers net dns on
To make firewall changes that survive a reboot, put this command into a 
"/local/MathWorks/webapps/R2025a/config/webapps_private/containers-firewall-init.sh" file.

ファイアウォールのルールを確認してください。

sudo ./webapps-containers net list
Rules for webapps container network 192.168.98.0/24:
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  any    any     192.168.98.0/24      anywhere             tcp dpt:domain ctstate NEW,ESTABLISHED
2        0     0 ACCEPT     udp  --  any    any     192.168.98.0/24      anywhere             udp dpt:domain ctstate NEW,ESTABLISHED
3        0     0 RETURN     all  --  any    any     192.168.98.0/24      anywhere             state RELATED,ESTABLISHED
4        0     0 REJECT     all  --  any    any     192.168.98.0/24      anywhere             reject-with icmp-port-unreachable
sudo ./webapps-containers net dns add www.google.com 443
Enabling traffic to www.google.com:443
To make firewall changes that survive a reboot, put this command into a 
"/local/MathWorks/webapps/R2025a/config/webapps_private/containers-firewall-init.sh" file.

ファイアウォールのルールを確認してください。

sudo ./webapps-containers net list
Rules for webapps container network 192.168.98.0/24:
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  any    any     192.168.98.0/24      lga25s78-in-f4.1e100.net  tcp dpt:https
2        0     0 ACCEPT     tcp  --  any    any     192.168.98.0/24      anywhere                  tcp dpt:domain ctstate NEW,ESTABLISHED
3        0     0 ACCEPT     udp  --  any    any     192.168.98.0/24      anywhere                  udp dpt:domain ctstate NEW,ESTABLISHED
4        0     0 RETURN     all  --  any    any     192.168.98.0/24      anywhere                  state RELATED,ESTABLISHED
5        0     0 REJECT     all  --  any    any     192.168.98.0/24      anywhere                  reject-with icmp-port-unreachable

ルール番号を指定してファイアウォール ルールを削除します。

sudo ./webapps-containers net remove 1
Removing rule 1

ファイアウォールのルールを確認してください。

sudo ./webapps-containers net list
Rules for webapps container network 192.168.98.0/24:
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  any    any     192.168.98.0/24      anywhere             tcp dpt:domain ctstate NEW,ESTABLISHED
2        0     0 ACCEPT     udp  --  any    any     192.168.98.0/24      anywhere             udp dpt:domain ctstate NEW,ESTABLISHED
3        0     0 RETURN     all  --  any    any     192.168.98.0/24      anywhere             state RELATED,ESTABLISHED
4        0     0 REJECT     all  --  any    any     192.168.98.0/24      anywhere             reject-with icmp-port-unreachable

入力引数

すべて折りたたむ

keyname説明

use_for_workers

MATLAB Web アプリがコンテナー内で実行できるかどうかを示します。

memory

コンテナが使用できるメモリ (RAM) の最大量を指定します。

volumes

Docker ボリュームとしてマウントするディレクトリを指定します。

cpus

コンテナが使用できる CPU リソースの量を指定します。

env

コンテナ内に設定する環境変数を指定します。

subnet (R2023a 以降)

CIDR 表記を使用して IP アドレスの範囲を指定して、コンテナが実行される Docker 環境内にサブネットを作成します。サブネットの作成時に CIDR範囲が指定されていない場合は、デフォルトの範囲192.168.98.0/24 が使用されます。範囲を指定すると、既存の Docker サブネットとの競合を防ぐことができます。

keyname 値に対応する値を指定します。値を二重引用符 (" ") で囲みます。

keynameval

use_for_workers

コンテナーが無効か有効かに応じて、それぞれ 0 または 1 を指定します。

webapps-containers on を実行すると、ソフトウェアはデフォルトで 1 の値を返します。

use_for_workers "0"

memory

バイト、キロバイト、メガバイト、またはギガバイトを示すために、正の整数の後にサフィックス bkmg を指定します。

webapps-containers on を実行すると、ソフトウェアはデフォルトで空の値を返します。これは、メモリ制限が適用されないことを示します。

memory "2g"

volumes

コロンで区切られた 2 つまたは 3 つのフィールドを指定します (:)。フィールドは正しい順序でなければなりません。複数のボリュームはセミコロン (;) を使用して区切ります。

  • 最初のフィールドはボリュームの名前です。

  • 2 番目のフィールドは、コンテナ内でファイルまたはディレクトリがマウントされるパスです。

  • 3 番目のフィールドはオプションであり、readonly などのコンマ区切りのオプションのリストです。

詳細については、https://docs.docker.com/storage/volumes/ を参照してください。

webapps-containers on を実行すると、ソフトウェアはデフォルトで空の値を返します。

  • volumes "/var/lib/cassandra/data:/data:readonly"

  • volumes "/var/lib/cassandra/data:/tmp/data:readonly;/usr/share/nginx/html:/tmp/html"

cpus

0 より大きい実数を指定します。マシンに 2 つの CPU があり、値を "1.5" に設定すると、コンテナーには最大で 1.5 個の CPU が割り当てられます。

詳細については、https://docs.docker.com/config/containers/resource_constraints/ を参照してください。

webapps-containers on を実行すると、ソフトウェアはデフォルトで空の値を返します。これは、CPU リソースに制限が適用されないことを示します。値を 0.000 に設定するのと同じです。

cpus "1.5"

env

キーと値のペアを <key>=<value> として指定します。複数のキーと値のペアはセミコロン (;) を使用して区切ります。

webapps-containers on を実行すると、ソフトウェアはデフォルトで空の値を返します。

env "MY_VAR1=/hello;MY_VAR2=/world"

subnet (R2023a 以降)

CIDR 表記を使用して IP アドレスの範囲を指定して、コンテナが実行される Docker 環境内にサブネットを作成します。サブネットの作成時に CIDR範囲が指定されていない場合は、デフォルトの範囲192.168.98.0/24 が使用されます。範囲を指定すると、既存の Docker サブネットとの競合を防ぐことができます。

subnet 192.168.24.0/24

注意

以下にリストされているオプションは、サーバーを再起動すると保持されません。再起動後もオプションを保持するには、それらを /local/MathWorks/webapps/R2025a/config/webapps_private/containers-firewall-init.sh ファイルに保存します。

コンテナ ネットワーク ファイアウォール設定をカスタマイズするためのオプション。次のいずれかとして指定します。

  • add

    hostport をファイアウォールの例外リストに追加します。

    sudo ./webapps-containers net add host port

    hostパラメーターには、ネットワーク名、ホスト名、ネットワーク IP アドレス、またはマスク付きネットワーク IP アドレスのいずれかを指定できます。

    ファイアウォールの例外リストに IP アドレスを追加します。

    sudo ./webapps-containers net add 123.45.67.111 443

    ファイアウォールの例外リストにドメイン名を追加します。

    sudo ./webapps-containers net dns on
    sudo ./webapps-containers net add www.google.com 443

  • dns

    ドメイン ネーム システム (DNS) 解決を on または off に切り替えます。

    sudo ./webapps-containers net dns on
    sudo ./webapps-containers net dns off

    DNS 解決を有効にします。

    sudo ./webapps-containers net dns on
    To make firewall changes that survive a reboot, put this command into a 
    "/local/MathWorks/webapps/R2025a/config/webapps_private/containers-firewall-init.sh" file.
    

    DNS 解決を無効にします。

    sudo ./webapps-containers net dns off
    Rules were successfully removed.
    

  • firewall

    コンテナ ネットワーク ファイアウォール on または off を切り替えます。コンテナ ネットワークのファイアウォールは Linux iptables に基づいています。詳細については、https://linux.die.net/man/8/iptables を参照してください。

    sudo ./webapps-containers net firewall on
    sudo ./webapps-containers net firewall off

    ファイアウォールを有効にします。

    webapps-containers net firewall on
    Rules were successfully added.
    

    ファイアウォールを無効にします。

    webapps-containers net firewall off
    
    Rules were successfully removed.
    

  • list

    コンテナ ネットワークのファイアウォール ルールを一覧表示します。

    sudo ./webapps-containers net list

    ルールをリストします。

    sudo ./webapps-containers net list
    Rules for webapps container network 192.168.98.0/24:
    num   pkts bytes target     prot opt in     out     source               destination         
    1        0     0 ACCEPT     tcp  --  any    any     192.168.98.0/24      anywhere             tcp dpt:domain ctstate NEW,ESTABLISHED
    2        0     0 ACCEPT     udp  --  any    any     192.168.98.0/24      anywhere             udp dpt:domain ctstate NEW,ESTABLISHED
    3        0     0 RETURN     all  --  any    any     192.168.98.0/24      anywhere             state RELATED,ESTABLISHED
    4        0     0 REJECT     all  --  any    any     192.168.98.0/24      anywhere             reject-with icmp-port-unreachable
    
    この特定のルールのリストは、ファイアウォールと DNS が有効になっている場合に表示されます。

  • remove

    • hostport を削除します。

      webapps-containers net remove host port

    • ファイアウォール ルールのリストからルール num を削除します。

      webapps-containers net remove num

      ファイアウォール ルールのリストからルール 1 を削除します。

      webapps-containers net remove 2 
      Removing rule 2
      

詳細

すべて折りたたむ

バージョン履歴

R2022b で導入