用于启动运行单声道控制台应用程序的docker容器的bash脚本无法以交互方式发送命令

时间:2016-01-08 15:54:39

标签: linux docker mono

假设容器名称为“dave”,单声道应用程序称为“dummy_app”

容器的dockerfile:

FROM mono:latest
ADD . /src
EXPOSE 8081
RUN xbuild /src/dummy_app.sln
CMD [ "mono", "/src/dummy_app/bin/Debug/dummy_app.exe" ]

脚本:

echo "Start"
sudo docker start -i dave
echo "debug true"

脚本停在“sudo docker start -i dave”这一行,因为我认为它等待从容器的stdin分离才能继续。因此,行“debug true”不会执行。

在ssh会话中,我可以看到容器启动启动单声道应用程序,我可以输入命令并获得响应,就像普通的控制台应用程序一样,但是我无法弄清楚如何从脚本向新发送命令附加容器,可以达到同样的目的。

1 个答案:

答案 0 :(得分:0)

来自here

Start one or more containers

  -a, --attach=false         Attach STDOUT/STDERR and forward signals
  --help=false               Print usage
  -i, --interactive=false    Attach container's STDIN

您需要删除-i标记。

通常,对于所有docker命令,您可以使用--help标志来检查您拥有的选项和默认值。