使用MATLAB编译器将独立的应用程序打包到Docker容器中
MATLAB Compiler™R2020b中的一个新特性允许您将独立的应用程序打包到Docker容器映像中。这使得您的应用程序可以在整个组织以及云中轻松地分发和共享。Docker容器是完全自包含的,由操作系统库、MATLAB和MATLAB组成®为运行应用程序而优化的运行时,以及应用程序本身。
我想告诉你MATLAB编译器R2020B中的一个新特性——能够将您的独立应用程序打包为Docker容器映像。现在,必须在Linux环境中执行打包的更改。但是,生成的Docker容器可以在Linux、Windows或Mac中运行。
注意,基于UI的应用程序需要X-windows服务器,而X-windows服务器只在Linux上得到本地支持。万博1manbetx有些人已经成功地在Windows上使用VcXsrv或Cygwin,在Mac OS上使用XQuartz。但是这些选项在MathWorks中并没有得到充分的测试和验证。所以你的里程可能会有所不同。
这一切是如何运作的?MATLAB用户使用MATLAB编译器打包他们的独立应用程序,并以Docker容器映像为目标。现在,创建的Docker容器映像包含几个层。第一层包含操作系统(在本例中是Linux库),然后是优化的MATLAB运行时层,其中仅包含您在代码中使用的组件和工具箱。
最后,还有一个应用程序可执行层。此主题容器映像保存到PC中的本地存储库中。在某些时候,这个容器可能会被传递到您的IT部门,由IT部门将其发布到公司注册表中。您组织中的用户可以浏览此注册表。在某个时间点,可能决定使用Docker run命令运行它。
将应用程序打包并分发为Docker容器有很多好处。它是一个一致的环境,所有依赖项都预先安装在其中。它很容易通过注册表分发,也很容易执行。让我们看看如何使用MATLAB编译器创建Docker容器映像。
我们需要做的第一件事是确保已经下载了MATLAB运行时。我们可以使用编译器。runtime。download命令来实现。如果您已经下载了MATLAB运行时,您将不必再次执行此任务。
我们将在这里使用魔方函数并生成Docker容器图像。这是一个非常简单的函数,接受单个数字输入并返回一个魔方。我们需要做的第一步是将其编译成一个独立的应用程序。我们使用compiler . bill . standalone application命令,传入M文件的名称,并告诉它将输入视为数字。
这个独立的应用程序被保存到神奇的app变量中。一旦我们有了这些,我们就可以调用编译器的dot package dot Docker命令,并传入我们新生成的独立应用程序的名称,并告诉它为Docker映像命名魔术破虚线帽。注意Docker映像名称必须全部小写。
现在,如果您是第一次这样做,这个过程可能需要更长的时间,因为打包过程需要创建底层操作系统库层以及底层运行时层。我以前生成过这些,所以我的过程要快得多。一旦这个过程完成运行,将为您提供执行应用程序所需的Docker run命令。
复制到你的剪贴板。注意,如果你想运行MATLAB应用程序设计器UI应用程序,你必须运行x host plus。让我们切换到终端窗口,运行新生成的魔方容器。我们将首先输入x主机加命令,然后粘贴从MATLAB编译器复制的Docker运行命令。
不要忘记提供输入参数——在本例中是5。Docker容器运行并输出5 × 5的魔方。现在,你可能想知道你是否可以运行MATLAB应用程序设计器UI应用程序。答案是肯定的。我将运行之前用UI应用程序打包的容器。
这是一个运行在Simulink编译器帮助下生成的质量弹簧阻尼器的Sim万博1manbetxulink模型的应用程序。正如你所看到的,它就像一个典型的、独立的UI应用程序一样运行。如果你想了解更多关于如何使用Docker容器的知识,请访问MATLAB编译器文档中的帮助页面。
相关产品s manbetx 845
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。