我需要通过我的Dockerfile中的CMD指令运行两个命令,如下所示:
WORKDIR /var/www/project CMD ["/sbin/my_init", "node", "server.js"]
上面提到的方法是正确的吗?
正如我所了解的,Docker的容器方法 – 只要父进程正在运行,每个容器都会一直存在。 但是如果在这种情况下运行两个是父母的呢?
不,这不是正确的方法。
你在这里积极尝试做什么?
如果您尝试运行多个进程,请考虑使用supervisord之类的东西
然而,你的例子的含义是你正在尝试为你的cmd使用某种init系统。 如果是这样的话,可以考虑使用类似dumb-init或tini的东西 ,你可以用它作为你的入口:
WORKDIR /var/www/project ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["node", "server.js"]