我们的项目中有一个Java应用程序,我们想要的是调用一些Python脚本并返回它的结果。做这件事最好的方法是什么?
我们希望隔离Python执行,以避免影响Java应用程序。可能,文档化Python是最好的解决方案。我不知道有什么别的办法。
然后,一个问题是如何从Java调用它。
据我所知,有几种方法:
在Docker中运行的Java应用程序与Python连接的最有效和正确的方法是什么?
发布于 2018-05-06 07:52:22
你不需要码头工人。有几个选项,您应该根据您的Java应用程序正在做什么来选择。
exec调用中即可。为此目的,请参阅Java和Java。发布于 2018-05-05 22:05:22
您可以尝试使用OpenFaas将您的python脚本与顶部的top服务器进行对接。
您可以使用完整的OpenFaas堆栈来创建映射到单个容器的单个API函数,也可以只使用OpenFaas web组件。
一个简单的Dockerfile可以是这样的:
FROM python:3.4-alpine
ADD . /workdir
WORKDIR /workdir
ADD https://github.com/openfaas/faas/releases/download/0.7.9/fwatchdog /usr/bin
RUN chmod +x /usr/bin/fwatchdog
ENV fprocess="python yourPythonScript.py"
CMD ["fwatchdog"]构建并运行它:
$ docker build . -t dockerized-python-script
[....]
$ docker run -p 8080:8080 dockerized-python-script您可以通过带有明文参数的http与脚本“交谈”:
$ curl yourserver:8080 -d "param1 param2 param3"
Some output from your script如果要讨论JSON,则需要相应地修改yourPythonScript.py以管理输入和输出。
https://stackoverflow.com/questions/50191768
复制相似问题