以“docker run daemon”开始的守护进程不起作用
docker run -itp 26542:26542 stack/vowpall vw -t -i /home/alex/cb.model --daemon --port 26542
当我运行这个命令时,没有守护进程在监听。 当我跑步
docker ps
有没有进程,但是当我去泊坞窗容器bash和运行
vw -t -i /home/alex/cb.model --daemon --port 26542
有一个守护进程正在监听,在docker ps中也是可见的。 有任何想法吗?
问题是守护进程是分支到后台,并且一个Docker容器只运行它的主进程。 当守护进程分叉到后台时,主进程结束,容器也结束。 您只需要保持应用程序在前台运行,这可能意味着删除--daemon
参数。
另外,如果你需要一个shell,你只需要-it
参数,所以你可以删除它们。 如果你想在你的主机上运行docker命令后得到shell,添加-d
以便客户端在启动容器后断开连接,例如:
docker run -dp 26542:26542 stack/vowpall vw -t -i /home/alex/cb.model --port 26542