Docker处理没有结束的进程?

时间:2017-08-24 13:34:16

标签: docker

我有一个docker容器,它在多个端口上运行服务。

当我尝试在我的Dockerfile中途启动其中一个进程时,它会导致构建过程无限期地停止。

RUN /opt/webhook/webhook-linux-amd64/webhook -hooks /opt/webhook/hooks.json -verbose

enter image description here

所以程序正在运行,但它永远不会继续前进。

我尝试在命令末尾添加&告诉bash并行运行下一步但这会导致服务无法在最终映像中运行。我还尝试将程序的输出重定向到/dev/null

我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:4)

你有误解。在执行之前,执行Dockerfile中的命令以创建docker镜像。 Dockerfile中的一种命令是RUN,它允许您运行任意shell命令,其动作在某种意义上影响创建的图像。 因此,构建过程会一直等到命令终止。

似乎您想在启动映像时启动服务。为此,请使用CMD命令。它告诉Docker在图像启动时应该执行什么。