将参数传递给在 docker 容器中运行的 python 脚本

2024-01-29

假设以下设置:

  • 网站用 php / laravel 编写
  • 用户上传文件(文本/doc/pdf)
  • 我们有一个 docker 容器,其中包含一个用于将文本转换为 numpy 数组的 python 脚本。

我想获取上传的数据并将其传递给 python 脚本。

我找不到任何解释如何将动态生成的输入传递到容器中的内容。

可以通过从 laravel 应用程序内部执行 shell 脚本来完成此操作,该应用程序包含上传的文件作为 dockerfile 的 ENTRYPOINT 中指定的变量吗?

还有其他方法可以做到这一点吗?


我强烈建议使用 tcp/ip 来实现此类目的。顺便说一句,在这种情况下,您将受益于:

  • 可以检测你的python服务是否在线
  • 您可以将 python 容器移动到另一台机器

实施非常简单。你可以选择任何框架,但对我来说合适的是Twisted,并按如下方式实现您的 python 脚本:

from twisted.internet.protocol import Factory, Protocol
from twisted.protocols.basic import LineReceiver

class DataProcessor(LineReceiver):
  def lineReceived(self, line):
    # line contains your data
    pass

Factory factory = Factory()
factory.protocol = DataProcessor
reactor.listenTCP(8080, factory)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将参数传递给在 docker 容器中运行的 python 脚本 的相关文章

随机推荐