总结一下我遇到的问题:我想在容器中运行的Minecraft控制台上执行命令,就像我以交互模式附加到该容器时一样,但无需附加到它。
docker attach container_name
command
detach_from_contaienr
像运行docker exec一样,但它像在docker attach中一样,将命令放入正在容器内部运行的程序的stdin中。
我只是搜索执行相同操作的oneliner。像这个question
编辑:echo 'say test' | docker attach <container id>
给出错误:
the input device is not a TTY
Edit2:在this post
中删除容器链接上的-t标志后echo 'say test' | docker attach <container id>
随着日志显示该命令到达服务器,但是执行后由于命令无法停止,我陷入了空白输入中>]
如果我现在执行double ctrl + c,则容器停止...
Edit3:我尝试在docker主机上执行这些命令,并在运行中的spigot minecraft服务器中执行该命令
总结一下我所遇到的问题:我想在容器中运行的minecraft控制台上执行命令,就像我以交互方式附加到它但不需要附加到它....
显然,您可以使用命名管道来执行此操作,如下所示:https://stackoverflow.com/a/26765590/2926055