当我重定向输出时,Python 程序在 docker 容器中的 shell 脚本中没有 运行
Python program doesn't run in shell script in docker container when i redirect the output
在docker容器中我提供了一个shell脚本入口点,如下
#!/bin/bash
cat ./bot_domain.yml
cat ./first.yml
python -m rasa_core.train --domain ./domain.yml -s ./stories.md --out ./models &> output.txt
echo "done"
我正在 docker 中使用 shell 训练模型。该程序需要大约一分钟的时间来执行,但是当我将训练的输出日志重定向到
output.txt
好像没有执行,马上转到下一个shell命令。
如果我不将输出日志重定向到 txt 文件,它似乎工作正常。
如下
python -m rasa_core.train --domain ./domain.yml -s ./stories.md --out ./models
我尝试在没有 docker 的本地计算机上执行相同的 shell 脚本,它似乎正确地重定向了输出日志。只有在 docker 它似乎不起作用。
以下是我在 docker 文件
中的命令
CMD ["sh", "run.sh"]
我将 docker 文件中的命令从 shell 更改为 bash 并且它似乎有效,通过搜索我发现 bash 有一些额外的功能缺少简单的 shell 命令。
CMD ["/bin/bash", "run.sh"]
在docker容器中我提供了一个shell脚本入口点,如下
#!/bin/bash
cat ./bot_domain.yml
cat ./first.yml
python -m rasa_core.train --domain ./domain.yml -s ./stories.md --out ./models &> output.txt
echo "done"
我正在 docker 中使用 shell 训练模型。该程序需要大约一分钟的时间来执行,但是当我将训练的输出日志重定向到
output.txt
好像没有执行,马上转到下一个shell命令。 如果我不将输出日志重定向到 txt 文件,它似乎工作正常。 如下
python -m rasa_core.train --domain ./domain.yml -s ./stories.md --out ./models
我尝试在没有 docker 的本地计算机上执行相同的 shell 脚本,它似乎正确地重定向了输出日志。只有在 docker 它似乎不起作用。
以下是我在 docker 文件
中的命令CMD ["sh", "run.sh"]
我将 docker 文件中的命令从 shell 更改为 bash 并且它似乎有效,通过搜索我发现 bash 有一些额外的功能缺少简单的 shell 命令。
CMD ["/bin/bash", "run.sh"]