在 docker 中运行两个可执行文件



我希望我的容器在运行时启动两个进程;

  1. 通用的"此进程正在运行以保持容器处于唤醒状态"进程 ( keep_awake.sh (,以及
  2. node app.js

有没有办法让这两个在开始时启动,基于dockerfile?

我正在考虑某种滥用 bash,但还不知道具体是哪一种。

更复杂的是,keep_awake.sh位于与app.js不同的目录中。

你永远不需要人为的"保持这个容器的活动"过程。 在您描述的情况中,这是双重的,在这种情况下,您有一个长时间运行的应用程序进程。

最佳做法是让 Docker 容器运行单个进程,并将其作为前台作业运行。 如果该进程退出,容器也会退出 - 你想要这个。 (如果你的 Node 应用程序死了,但你没有注意到,这会有点尴尬,因为 Docker 看到tail -f /dev/null仍在启动和运行。

简而言之,结束您的 Dockerfile

CMD ["node", "app.js"]

并忽略第二个"无所事事"过程。

相关内容

  • 没有找到相关文章

最新更新