使用主管

时间:2015-06-26 13:29:30

标签: docker supervisor

我有很多Docker容器,我想开始使用supervisor。我遇到的问题是主管要求阻止命令以跟踪它们。

不幸的是,命令docker run my/container:tag是非阻塞的,即它会立即返回,从而产生一个进程。

启动docker容器(实际上是2个,有时是4个可能相关的实例),但是supervisor指示错误" FATAL退出太快(进程日志可能有详细信息)"。

可以使用supervisor来运行Docker容器吗?

更新

我的一些早期试验中也有-d选项导致-i无法按预期工作(他们不是相反的,他们不应该提示某种错误?)。当我在-i中使用supervisor.conf时,我收到此错误time="2015-06-27T14:14:29+10:00" level=fatal msg="cannot enable tty mode on non tty input"

我还试图在没有-i的情况下运行,并且它成功启动了docker容器。不幸的是,sudo supervisorctl stop app实际上并没有停止docker容器。主管是否无法控制泊坞窗,或者我是否真的需要使用-i选项运行并以某种方式修复此tty错误?

更新2

tty错误来自我的-t命令中也有docker run选项。我删除了它。但是,supervisorctl仍然无法阻止docker运行。虽然它在运行时没有出错,supervisorctl status app表示它已经停止docker ps我看到容器实际上仍在运行。

2 个答案:

答案 0 :(得分:1)

您需要以交互模式运行容器。这将是阻塞调用,如果您阻塞,直到新进程退出,则以下是正确的命令:

docker run -i -t my/container:tag

答案 1 :(得分:0)

如果您使用-i option运行容器,则会阻止

docker run -i my/container:tag