docker exec命令不在sh文件中执行

在命令行(terminal)下执行命令时,执行得很好:

$sudo docker exec -it 5570dc09b58 bash 

但是同样的结果:

FATA [0000]无法在非ttyinput上启用tty模式

在shell脚本文件中运行时出错。

你没有在docker运行docker,所以你应该删除-t

 sudo docker exec -i 5570dc09b58 bash 

在这里看到更详细的答案。

脚本可能被强制以-i选项或#!/bin/bash -i头以交互模式运行。

所以用-i选项添加shebang到脚本应该工作:

 #!/bin/bash -i docker exec -it ed3d9e46b8ee date 

像往常一样运行脚本:

 chmod +x run.sh sudo ./run.sh 

输出:

 Thu Apr 2 14:06:00 UTC 2015