Compose: docker-组成互动模式

创建于 2016-03-05  ·  4评论  ·  资料来源: docker/compose

我的Dockerfile中有这个:

...
CMD bash on-start.sh

我可以使用它运行它,然后根据需要获得一个交互式外壳。

$ docker run -it imagename
$ _

但是这样做时不起作用:

$ docker-compose up
...
exited with code 0

如果执行此操作,它也可以正常运行,但是相关服务未启动。

$ docker-compose run myservice 
$ _

我的版本:

$ docker --version
Docker version 1.10.0, build 590d5108
$ docker-compose --version
docker-compose version 1.6.0, build d99cad6
kinquestion

最有用的评论

您可能要在Compose文件中使用stdin_open:true。

所有4条评论

您可能要在Compose文件中使用stdin_open:true。

这是预期的行为。 up不是交互式的。 它可以启动多个容器,因此您不能拥有一个为多个容器打开了stdin的终端。

run应该做您想要的。 如果您使用depends_on ,它将从Compose 1.6.2起开始依赖(该错误已在Compose 1.6.1中修复),因此您也需要升级。

@dnephin
丹尼尔(Daniel),我要感谢您对这个主题的发言。 我一直在努力使容器在Node服务器上以交互模式工作,但我还需要通过后端的终端输入一些数据,这一工作已经两天了。 您的笔记措辞使我从另一个方向审视了我的问题。 长时间阅读docker撰写详细信息(包括run方法)确实对我有用。 非常感谢。

我想获得对在docker-compose环境中运行的Python调试器pdb的交互式访问。 直到我可以用docker attach myservice

此页面是否有帮助?
0 / 5 - 0 等级