为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

弑天下 2022-07-26 21:53:26
所以我有一个设置为在启动时运行的简单 python 脚本。该脚本理想地运行一个 webhook,然后在收到 POST 请求时运行一个 docker 容器。当我运行这个脚本时,它运行得很好,但是当我把它放在我的 crontab 中时,它似乎突然不起作用,我无法完全弄清楚为什么。我将脚本设置为在接收到成功的 post 方法时将消息设置为墙,所以我知道这不是问题,因为每当我发送 POST 时我都可以看到墙消息。它似乎并没有真正启动容器,无论我是否告诉它在后台运行,通常是使用 subprocess.Popen 或使用 subprocess.call,shell 为真或假。        subprocess.call(["echo PULLING APP | wall"], shell=True)        subprocess.call([". [pathtoscript], shell=True)这是 .py 的摘录。请注意,在计算机完全启动之前我不会测试脚本,以确保在 docker 服务启动或类似的东西之前我不会以某种方式运行它,这可能有点有用。剧本:#!/bin/shdocker run --name [app] -p 80:80 --rm --mount type=bind,source=/home/dev/mongodb.pass,target=/app/mongodb.pass [pathtoimage]
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

好的,所以我似乎已经解决了这个问题,方法是确保我在 shell 脚本中使用 docker 的绝对路径which docker



查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信