我希望我的容器在运行时启动两个进程;
keep_awake.sh
)和node app.js
有什么办法可以基于dockerfile在启动时同时启动这两种启动?
我正在考虑某种形式的bash滥用,但还不知 Prop 体是哪一种。
使事情更加复杂的是,
keep_awake.sh
与app.js
不在同一目录中。
最佳答案
您永远不需要人工“保持该容器 Activity ”的过程。在您描述的情况下,您有一个长期运行的申请流程,这是双重事实。
最佳实践是让Docker容器运行一个进程,并将其作为前台作业运行。如果该进程退出,则容器也将退出-您需要这样做。 (这会让您的Node应用程序死掉很尴尬,但您可能没有注意到,因为Docker知道tail -f /dev/null
仍在运行。)
简而言之,使用以下命令结束Dockerfile
CMD ["node", "app.js"]
并忽略第二步“无为而治”过程。
关于bash - 在Docker中运行两个可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56972257/