如何在docker中运行Python脚本并动态地将脚本发送到docker容器中?

6
如何在Docker中运行Python脚本,并使脚本可以动态发送到Docker容器?同时,它应该处理多个并发连接。例如,如果两个人同时执行“运行”,它不应该由一个人创建的文件被另一个人覆盖。

我忘了说,这是Ubuntu镜像。 - user1305989
1个回答

4
通常情况下,您可以将主机文件作为数据卷挂载,或者像您这样挂载主机目录。请参见Python镜像
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:3 python your-daemon-or-script.py

那样的话,如果在挂载的文件夹中创建了一个文件,它将会被创建在主机硬盘上,并且不会被其他用户在自己的容器中执行相同脚本时覆盖。
对于Ubuntu镜像,你需要:
  • 克隆作为裸库的Git repo的初始副本(git clone --mirror)。
  • 安装Apache,监听Git请求。
当你获取PR时,可以运行一个新容器,并将该PR分支推送到容器Git repo。然后,容器repo上的post-receive钩子可以触发一个python脚本。 - 然后你就可以

@user1305989 好的,我已经用另一种方法编辑了答案,包括每个Pull-Request一个容器的方式,这将实现与主机完全隔离。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接