金宝app支持的平台:Linux®只有
这个例子展示了如何打包一个MATLAB®独立应用程序到Docker®的形象。
通过键入以下命令,验证是否在Linux计算机上安装了Docker码头工人
在控制台。如果您没有安装Docker,可以按照Docker网站上的说明安装和设置Docker。
验证MATLAB运行时安装程序在您的计算机上可用。可以通过执行compiler.runtime.download
函数在MATLAB命令提示符下运行。如果机器上有现有安装程序,该函数将返回一条消息,说明MATLAB运行时安装程序存在并指定其位置。否则,它会下载MATLAB运行时与执行命令的MATLAB版本和更新级别相匹配的安装程序。
如果您使用的计算机未连接到Internet,则需要下载MATLAB运行时从连接到Internet的计算机安装程序。下载MATLAB运行时安装程序,您需要将安装程序传输到未连接到Internet的计算机。您可以从MathWorks网站下载安装程序。
//www.tatmou.com/下载188bet金宝搏products/compiler/matlab-runtime.html
写一个MATLAB函数调用mymagic
并用文件名保存它我的魔法
.
函数mymagic(x)y=magic(x);显示(y)
在MATLAB命令提示符下测试该功能。
mymagic(5)
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
使mymagic
使用compiler.build.standalone应用程序
作用
res = compiler.build.standaloneApplication (“我的魔法,m”,“TreatInputsAsNumeric”,真正的)
res=具有以下属性的结果:BuildType:'standaloneApplication'文件:{3×1 cell}选项:[1×1 compiler.build.StandaloneApplicationOptions]
一旦构建完成,该函数将创建一个名为MyMagicStandalone应用程序
在当前目录中存储独立应用程序。这个结果
对象物件
在MATLAB命令提示符处返回,包含关于构建的信息。
DockerOptions
对象在创建Docker映像之前,请创建DockerOptions
使用compiler.package.DockerOptions
函数并传递结果
对象物件
还有一个图像名mymagic-standalone-app
作为输入参数。这个compiler.package.DockerOptions
函数可以让您自定义Docker图像打包。
opts=compiler.package.DockerOptions(res,“ImageName”,“mymagic独立应用程序”)
opts=DockerOptions,其属性为:EntryPoint:“mymagic”在ImageName:“mymagic单机版应用程序”DockerContext:“./mymagic单机版应用程序Docker”
创建一个Docker映像compiler.package.docker
函数并传递结果
对象物件
和DockerOptions
对象选择
作为输入参数。
compiler.package.docker (res,“选项”选择)
生成运行时映像清理MATLAB运行时安装程序位置。可能需要几分钟…复制MATLAB运行时安装程序。可能需要几分钟………成功构建6501fa2bc057成功标记mymagic单机版应用程序:最新DOCKER上下文位置:/home/user/MATLAB/work/mymagic单机版appdocker示例DOCKERRUN命令:docker RUN--rm-e“DISPLAY=:0”-v/tmp/.X11 unix:/tmp/.X11 unix mymagic单机版应用程序
打包完成后,该函数将创建一个名为mymagic-standalone-appdocker
在当前目录中。此文件夹是Docker上下文,包含Dockerfile.这个compiler.package.docker
函数还返回Docker上下文的位置和一个Docker运行命令示例。您可以使用示例Docker run命令来测试映像是否正确执行。
在包装过程中,必要的钻头MATLAB运行时被打包为父Docker镜像,独立的应用被打包为子Docker镜像。
打开Linux控制台并导航到Docker上下文文件夹。验证mymagic-standalone-app
Docker图像列在Docker图像列表中。
$码头工人的图片 |
存储库标记图像ID已创建大小mymagic独立应用最新6501fa2bc057 23秒前1.03GB matlabruntime/r2020b/update0/4000000000000000最新c6eb5ba4ae69 24小时前1.03GB
在验证mymagic-standalone-app
Docker映像列在Docker映像列表中,请使用输入参数执行示例运行命令5.
:
$docker运行--rm-e“DISPLAY=:0”-v/tmp/.X11 unix:/tmp/.X11 unix mymagic单机版应用程序5 |
没有指定协议=1724181515357141641320210211921311182529
独立应用程序已打包,现在可以作为Docker映像运行。
笔记
运行生成绘图或图形的应用程序时,请执行希斯特
与+
选项,然后再运行Docker映像。
xhost +
希斯特
程序控制对X显示服务器的访问,从而使绘图和图形能够显示。这个+
选项表示每个人都可以访问X显示服务器。如果您运行希斯特
与+
选项在运行不生成绘图或图形的应用程序之前没有指定协议
不再显示。
您可以通过各种方式共享Docker图像。
将图像推送到Docker的中心注册表DockerHub或您的私人注册表。这是最常见的工作流。
将您的图像保存为tar存档并与他人共享。这个工作流适合即时测试。
有关将图像推送到Docker的中央注册表或私人注册表的详细信息,请参阅Docker文档。
要将Docker映像保存为tar归档文件,请打开Linux控制台,导航到Docker上下文文件夹,并输入以下命令。
$Docker保存mymagic-standalone-app -o |
名为mymagic-standalone-app.tar
在当前文件夹中创建。使用。设置适当的权限修改文件权限
在与其他用户共享tarball之前。
将tarball中包含的映像加载到最终用户的机器上,然后运行它。
$docker load——输入mymagic-standalone-app.tar |
验证图像已加载。
$码头工人的图片 |
$xhost +$docker运行--rm-e“DISPLAY=:0”-v/tmp/.X11 unix:/tmp/.X11 unix mymagic单机版应用程序5 |
compiler.package.docker
|compiler.package.DockerOptions
|compiler.build.standalone应用程序
|compiler.runtime.download