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中看到。有什么想法吗?
答案 0 :(得分:1)
问题是该守护进程正在向后台分叉,而Docker容器只在其主进程中运行。当守护进程分叉到后台时,主进程结束,容器结束。您只需要让应用程序在前台运行,这可能只是意味着删除--daemon
参数。
另外,如果你想要一个shell,你只需要-it
个参数,所以你也可以删除它们。如果您想在运行docker命令后返回主机上的shell,请添加-d
以便客户端在启动容器后断开连接,例如:
docker run -d p 26542:26542 stack/vowpall vw -t -i /home/alex/cb.model --port 26542