Mathworks Tim Choo
MATLAB Compiler™R2020b中的一个新特性可以让你将独立的应用程序打包到Docker容器映像中。这使得您的应用程序可以轻松地在整个组织以及云中分布和共享。Docker容器是完全自包含的,由操作系统库组成,一个MATLAB®运行应用程序和应用程序本身的优化运行时。
我想告诉你MATLAB编译器R2020B中的一个新特性——将你的独立应用程序打包为Docker容器映像的能力。现在,必须在Linux环境中执行包的更改。但是,生成的Docker容器可以在Linux、Windows或Mac上运行。
请注意,基于UI的应用程序需要一个X-Windows Server,该服务器仅在Linux上自然支持。金宝app有些人已经成功使用Windows上的VCXSRV或Cygwin等选项,以及Mac OS上的XQuartz。但这些选项未在MathWorks上完全测试和合格。所以你的里程可能会有所不同。
这一切如何工作?嗯,MATLAB用户使用MATLAB编译器打包其独立应用程序,并针对Docker容器图像。现在,创建的Docker容器图像包含多个图层。第一层包含操作系统 - 在这种情况下,Linux库 - 随后是一个具有优化的MATLAB运行时的图层,只包含您在代码中使用的组件和工具框。
最后,还有一个应用程序可执行层。此主题容器映像保存到您的PC本地存储库中。在某些时候,这个容器可能被传递给您的IT部门,由IT部门将其发布到公司注册中心。组织中的用户可以浏览此注册表。在某个时间点,可能会决定使用Docker run命令运行它。
包装和将应用程序作为Docker容器分发许多好处。它是一个一致的环境,其中所有依赖项都安装在其中。它非常容易通过注册表分发,并且很容易被执行。让我们看看我们如何使用Matlab编译器创建Docker容器映像。
我们需要做的第一件事是确保已下载MATLAB运行时。我们可以使用编译器点运行时点下载命令。如果您已经下载了MATLAB运行时,则不必再次第二次执行此任务。
我们将在这里使用魔方函数并生成一个Docker容器图像。这是一个非常简单的函数,它接受单个数字输入并返回一个幻方。我们需要做的第一步是将其编译为独立的应用程序。我们使用编译器的。bill。standalone application命令来执行,传入M文件的名称并告诉它将输入作为数字处理。
这个独立的应用程序被保存到magic app变量中。一旦我们有了这个,我们就可以调用编译器的点包点Docker命令,并传递我们新生成的独立应用程序的名称,以及告诉它命名Docker图像魔法帽子。请注意,Docker镜像名称都需要小写。
现在,如果您是第一次这样做,这个过程可能需要更长的时间,因为打包过程需要创建底层的操作系统库层,以及底层的运行时层。我之前已经生成了这些内容,所以我的过程要快得多。一旦该进程结束运行,将为您提供执行应用程序所需的Docker run命令。
复制到剪贴板。注意,如果你想运行MATLAB应用程序设计器UI应用程序,你必须运行x host plus。让我们切换到终端窗口来运行我们新生成的魔方容器。我们将首先输入x host plus命令,然后粘贴我们从MATLAB编译器中复制的Docker运行命令。
不要忘记提供输入参数——在本例中为5。Docker容器运行并输出5 × 5的幻方。现在,您可能想知道是否可以运行MATLAB App Designer UI应用程序。答案是肯定的。我将运行前面用UI应用程序打包的容器。
这是一个应用程序,运行的质量弹簧阻尼器的Simulink模型的帮助下生金宝app成的Simulink编译器。如你所见,它就像一个典型的、独立的UI应用程序一样运行。如果你想了解更多关于如何使用Docker容器的知识,请访问MATLAB编译器文档中的帮助页面。
您还可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。