繁体   English   中英

从 python 脚本内部运行 docker 在启动时不起作用

[英]Running docker from inside python script doesn't work on startup

所以我有一个简单的 python 脚本,设置为在启动时运行。 这个脚本理想地运行一个 webhook,然后在收到 POST 请求时运行一个 docker 容器。 当我运行这个脚本时它工作得很好,但是当我把它放在我的 crontab 中时,它突然似乎不起作用而且我无法完全弄清楚为什么。 我将脚本设置为在收到成功的 post 方法后发送一条消息,所以我知道这不是问题,因为每当我发送 POST 时我都可以看到发送消息。 它似乎并没有真正启动容器,无论我是否告诉它在后台运行,通常,使用 subprocess.Popen 或 subprocess.call,shell true 或 false。

        subprocess.call(["echo PULLING APP | wall"], shell=True)
        subprocess.call([". [pathtoscript], shell=True)

这是the.py的摘录。 需要注意的是,在计算机完全启动之前我不会测试脚本,以确保在 docker 服务启动或类似服务之前我不会以某种方式运行它。 剧本:

#!/bin/sh
docker run --name [app] -p 80:80 --rm --mount type=bind,source=/home/dev/mongodb.pass,target=/app/mongodb.pass [pathtoimage]

好的,所以我似乎已经通过确保在 shell 脚本中使用 docker 的绝对路径解决了问题 using which docker

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM