我有一个 python 脚本,它使用 matlab.engine() 在其中执行 matlab 脚本。这可以在我的机器上运行,但我无法对其进行 dockerize。
dockerfile 将需要两个图像 - Matlab 和 Python。 Matlab需要使用许可证文件进行初始化,然后执行Matlab文件夹中的python安装脚本。之后,python脚本就可以访问Matlab了。
感谢您对创建 Dockerfile 的任何帮助。或者有什么线索可以告诉我在哪里可以找到类似的东西。谢谢..
尝试过这个:
Python代码:
import matlab.engine
from flask import Flask
@app.route("/matlab")
def matlab_execute():
eng = matlab.engine.start_matlab()
eng.myscript(nargout=0)
return "success"
if __name__ == "__main__":
app.run()
Dockerfile:
FROM mathworks/matlab:r2021a as matlab_image
WORKDIR /matlab
FROM python:3.8
COPY --from=matlab_image /matlab /
COPY myscript.m /
COPY py_script.py /
WORKDIR /
RUN pip install FLASK
CMD [ "python", "./py_script.py" ]
但是当我运行容器时,我得到“没有名为 matlab 的模块”。 我怎样才能将 matlab 凭据传递给它?
官方 MathWorks docker 容器 Dockerfile 可在 GitHub 上获取。 Dockerhub 上提供了您可以使用的基础映像和依赖项映像。有关如何使用图像的说明可以在两个存储库中找到。
一些注意事项:
您好,我想知道您是否解决了这个问题。如果您这样做了,我想知道您是否可以与我们分享完成的 dockerfile。请通过电子邮件回复。 [电子邮件受保护]