bash - 以 "docker run daemon"开头的守护进程不工作

标签 bash docker vowpalwabbit

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 中也可见。有任何想法吗?

最佳答案

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

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

docker run -d p 26542:26542  stack/vowpall vw -t -i /home/alex/cb.model --port 26542

关于bash - 以 "docker run daemon"开头的守护进程不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29513684/

相关文章:

bash - 如何检查是否以 root 身份在 bash 脚本中运行

linux - 狂欢-:No such file or directory

docker - 在 Entrypoint 文件中导出环境变量不起作用?

docker - 语法错误的 Gitlab-runner

node.js - 如何在两个docker服务之间实现负载均衡?

string - grep 查找文件中的一行,然后删除该行

python - 如何使用 Python 创建 JKS 或 P12 keystore

bash - 无法将 bash 输出到文件

machine-learning - Vowpal Wabbit 输出的解释

vowpalwabbit - 为什么使用 Vowpal Wabbit 训练时平均损失会上升