1
docker run -itp 26542:26542  stack/vowpall vw -t -i /home/alex/cb.model --daemon --port 26542

当我运行这个命令时,没有守护进程在监听。当我跑

docker ps 

没有进程,但是当我去 docker container bash 并运行时

vw -t -i /home/alex/cb.model --daemon --port 26542 

有一个守护进程监听,在 docker ps 中也可见。有任何想法吗?

4

1 回答 1

1

问题是守护进程正在分叉到后台,而 Docker 容器只运行它的主进程。当守护进程分叉到后台时,主进程结束,容器也结束。您只需要让应用程序在前台运行,这可能只是意味着删除--daemon参数。

此外,-it如果你想要一个 shell,你只需要参数,所以你也可以删除它们。如果您想在运行 docker 命令后恢复主机上的 shell,请添加-d以便客户端在启动容器后断开连接,例如:

docker run -d p 26542:26542  stack/vowpall vw -t -i /home/alex/cb.model --port 26542
于 2015-04-08T12:02:27.117 回答