在Dockerfile的CMD指令中执行两个命令是否正确?

在Dockerfile的CMD指令中执行两个命令是否正确?

我需要通过CMDDockerfile 中的指令运行两个命令,如下所示:

WORKDIR /var/www/project
CMD ["/sbin/my_init", "node", "server.js"]

上面提到的做法正确吗?

据我了解,Docker 的容器方法 - 每个容器的存在时间与父进程的运行时间相同。但如果运行两个容器,在这种情况下哪个是父进程?

答案1

不,这不是正确的做法。

您在这里积极尝试做什么?

如果你尝试运行多个进程,可以考虑使用类似主管

但是,从您的示例可以看出,您正在尝试为 cmd 使用某种 init 系统。如果是这样,请考虑使用类似哑初始化或者蒂尼,您可以将其用作入口点:

WORKDIR /var/www/project
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
CMD ["node", "server.js"]

相关内容