【问题标题】:Daemon started with "docker run daemon" is not working以“docker run daemon”开头的守护进程不工作
【发布时间】:2015-06-13 08:29:56
【问题描述】:
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 中也可见。有什么想法吗?

【问题讨论】:

    标签: bash docker vowpalwabbit


    【解决方案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
    

    【讨论】:

    • 谢谢!这解释了很多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多