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

问题描述 投票:0回答:1

所以我有一个简单的python脚本,该脚本设置为在启动时运行。理想情况下,此脚本运行Webhook,然后在收到POST请求后运行docker容器。当我运行该脚本时,它运行良好,但是当我将其放入crontab时,突然似乎无法正常工作,而且我无法完全弄清原因。我已将脚本设置为在收到成功的post方法后将消息挂墙,因此我知道这不是问题,因为每当我发送POST时,我都会看到挂墙消息。不管我是否告诉它通常在后台运行,都使用subprocess.Popen或subprocess.call(外壳为true或false)似乎都没有真正启动容器。

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

这是.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]
python shell docker ubuntu
1个回答
0
投票

[好,所以我似乎已经通过确保使用which docker在外壳程序脚本中使用指向docker的绝对路径来解决了该问题,>

© www.soinside.com 2019 - 2024. All rights reserved.