我有很多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
我看到容器实际上仍在运行。
答案 0 :(得分:1)
您需要以交互模式运行容器。这将是阻塞调用,如果您阻塞,直到新进程退出,则以下是正确的命令:
docker run -i -t my/container:tag
答案 1 :(得分:0)
如果您使用-i
option运行容器,则会阻止
docker run -i my/container:tag