主要内容

MATLABスタンドアロンアプリケ,ションの码头工人イメージへのパッケージ化

サポ,トされるプラットフォ,ム:Linux®のみ。

この例では,matlab®スタンドアロンパッケジをDocker®

このオプションは,すべての依存関係を含む標準化された形式でのアプリケーションの配布,またはオーケストレーターでのバッチジョブの実行を行う開発者に最適です。HTTP / HTTPSエンドポイントを提供するマイクロサービスの码头工人イメージを作成するには,创建微服务Docker镜像(MATLAB编译器SDK)を参照してください。

前提条件

  1. タミナルで”码头工人“と入力し,LinuxマシンにDockerがンストルされていることを確認します。”码头工人がインストールされていない場合は、Docker の Web サイトの指示に従って、Docker のインストールと設定を行うことができます。

    https://docs.docker.com/engine/install/

  2. システムタミナルに次を入力して,Dockerンストルをテストします。

    Docker run hello-world
    Docker从ンスト到ルが正常に動作している場合,从次のメッセ到ジが表示されます。
    来自Docker的你好!此消息显示您的安装似乎正在正常工作。

  3. MATLAB运行时。その存在を確認するには,matlabコマンドプロンプトで関数compiler.runtime.downloadを実行します。マシンに既にンストラが存在する場合,この関数はその場所を返します。存在しない場合は,matlabのバ,ジョンおよび更新レベルが一致するMATLAB运行时

    使用しているコンピューターがインターネットに接続していない場合,インターネットに接続しているコンピューターからMATLAB运行时MATLAB运行时インストーラーをダウンロードした後,インターネットに接続していない方のコンピューターにそのインストーラーを移す必要があります。MathWorks Web。

    //www.tatmou.com/下载188bet金宝搏products/compiler/matlab-runtime.html

MATLABでの関数の作成

mymagicという名前のmatlab関数を作成し,mymagic.mというファ@ @ル名で保存します。

函数Mymagic (x) y = magic(x);disp (y)

Matlabコマンドプロンプトでこの関数をテストします。

mymagic (5)
17 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

スタンドアロンアプリケ,ションの作成

関数compiler.build.standaloneApplicationを使用して,関数mymagicをスタンドアロンアプリケ,ションに変換します。

res = compiler.build.standaloneApplication(“mymagic.m”“TreatInputsAsNumeric”,真正的)
res =带有属性的结果:BuildType: 'standaloneApplication'文件:{3×1 cell}选项:[1×1 compiler.build.StandaloneApplicationOptions]

ビルドが完了すると,この関数はmymagicstandaloneApplicationという名前のフォルダ,を現在のディレクトリに作成し,スタンドアロンアプリケ,ションを保存します。Matlabコマンドプロンプトで返される结果オブジェクトresには,ビルドに関する情報が含まれています。

スタンドアロンアプリケ,ションの码头工人イメージへのパッケージ化

DockerOptionsオブジェクトの作成

Dockerメ,ジを作成する前に,関数compiler.package.DockerOptionsを使用してDockerOptionsオブジェクトを作成し,结果オブジェクトresと▪▪メ▪▪ジ名mymagic-standalone-appを入力引数として渡します。関数compiler.package.DockerOptionsを使うと,Docker econpメジのパッケジ化をカスタマeconpズできます。

opts = compiler.package.DockerOptions(res,“ImageName”“mymagic-standalone-app”
ExecuteDockerBuild: on ImageName: 'mymagic-standalone-app' DockerContext: './mymagic-standalone-appdocker'

码头工人メ,ジの作成

関数compiler.package.dockerを使用してDocker econpメ,ジを作成し,结果オブジェクトresDockerOptionsオブジェクト选择を入力引数として渡します。

compiler.package.docker (res,“选项”选择)
生成运行时图像清洗MATLAB运行时安装程序位置。可能需要几分钟……复制MATLAB运行时安装程序。可能需要几分钟... ... ... ...成功构建6501fa2bc057成功标记mymagic-standalone-app:latest DOCKER CONTEXT LOCATION: /home/user/ matlab /work/mymagic-standalone-appdocker SAMPLE DOCKER RUN命令:DOCKER RUN——rm -e "DISPLAY=:0" -v /tmp/. x11 -unix:/tmp/。X11-unix mymagic-standalone-app

パッケ,ジ化が完了すると,この関数はmymagic-standalone-appdockerという名前のフォルダ,を現在の作業ディレクトリに作成します。このフォルダはDockerコンテキストであり,“Dockerfile”が含まれています。関数compiler.package.dockerはDockerコンテキストの場所と,サンプルのDocker実行コマンドも返します。サンプルの码头工人実行コマンドを使用して,イメージが正しく実行されるかどうかをテストできます。

パッケ,ジ化の処理中に,MATLAB运行时に必要な部分が親码头工人イメージとしてパッケージ化され,スタンドアロンアプリケーションが子码头工人イメージとしてパッケージ化されます。

码头工人メ,ジのテスト

Linuxタミナルを開き,Dockerコンテキストのフォルダに移動します。Dockerメ,ジのリストにmymagic-standalone-appDockerメ,ジがあることを確認します。

码头工人的图片
仓库标签图像ID CREATED SIZE mymagic-standalone-app latest 6501fa2bc057 23 seconds ago 1.03GB matlabruntime/r2022 bc6eb5ba4ae69 24 hours ago 1.03GB

mymagic-standalone-appDocker econpメ,econpジがDocker econpメ,econpジのリストにあることを確認した後,econp入力引数5を指定してサンプルの実行コマンドを実行します。

docker运行——rm -e "DISPLAY=:0" -v /tmp/. x11 -unix:/tmp/. x11 -unix:/tmp/。X11-unix mymagic-stand - alone-app
无协议指定out = 17 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

スタンドアロンアプリケーションはパッケージ化され,码头工人イメージとして実行できるようになりました。

メモ

プロットまたはグラフィックスを生成するアプリケーションを実行する際には,码头工人イメージを実行する前に,+オプションを使用してxhostプログラムを実行します。

xhost +
xhostプログラムはX显示服务器へのアクセスを制御することにより,プロットとグラフィックスを表示できるようにします。+オプションは,誰でもX显示服务器にアクセスできることを表しています。プロットやグラフィックスを生成しないアプリケ,ションを実行する前に,+オプションを使用してxhostプログラムを実行すると,[没有指定协议]というメッセ,ジは表示されなくなります。

码头工人メ,ジの共有

Dockerメ,ジはさまざまな方法で共有できます。

  • イメージを码头工人の中央レジストリDockerHubにプッシュするか,プライベートレジストリにプッシュします。これが最も一般的なワ,クフロ,です。

  • 。このワ,クフロ,は,ただ,にテストを行う場合に適しています。

イメージを码头工人の中央レジストリまたはプライベートレジストリにプッシュする方法の詳細については,码头工人のドキュメンテーションを参照してください。

码头工人@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

码头工人イメージを焦油アーカイブとして保存するには,Linuxターミナルを開き,码头工人コンテキストのフォルダーに移動して次を入力します。

Docker保存mymagic-standalone-app -o mymagic-standalone-app.tar

現在のフォルダ,にmymagic-standalone-app.tarという名前のファ@ @ルが作成されます。Tarballを他のユ,ザ,と共有する前に,修改文件权限を使用して適切な権限を設定します。

Tarアカブからの码头工人メ,ジの読み込み

エンドユザのマシン上でtarballに含まれるメジを読み込み,実行します。

Docker加载——输入mymagic-standalone-app.tar

メ,ジが読み込まれたことを確認します。

码头工人的图片

码头工人メ,ジの実行

xhost +docker运行——rm -e "DISPLAY=:0" -v /tmp/. x11 -unix:/tmp/. x11 -unix:/tmp/。X11-unix mymagic-stand - alone-app

参考

|||

関連するトピック