我需要在Docker容器中使用django运行Shell脚本


my shell file 
#!/bin/bash
echo "Success"
exit 1

我使用以下命令调用了上述文件。python文件

subprocess.call(["bash", "scripts/test.sh"], shell=True)

当在没有Docker容器的情况下运行时,这一点很好。但在容器内运行时会显示一个错误。

错误:

python_1         | scripts/test.sh: line 1: bash: not found

有人能帮我吗?

您使用的基本映像没有安装bash。例如,Alpine默认情况下没有安装bash。

我建议不要使用Alpine(https://pythonspeed.com/articles/alpine-docker-python/)但如果你正在使用它,你可以通过以下操作安装bash:

RUN apk add --update-cache bash

早上好!

您确定要在容器中共享该文件吗?

您使用的命令应该指定您在容器和主系统之间共享的文件夹。

这可能有助于

最新更新