【问题标题】:Running docker from inside python script doesn't work on startup从 python 脚本内部运行 docker 在启动时不起作用
【发布时间】:2020-02-14 02:48:43
【问题描述】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      相关资源
      最近更新 更多