bash - 在Docker中运行两个可执行文件

标签 bash docker dockerfile

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

  • 通用的“此过程正在运行以保持容器清醒”过程(keep_awake.sh)和
  • node app.js

  • 有什么办法可以基于dockerfile在启动时同时启动这两种启动?

    我正在考虑某种形式的bash滥用,但还不知 Prop 体是哪一种。

    使事情更加复杂的是,keep_awake.shapp.js不在同一目录中。

    最佳答案

    您永远不需要人工“保持该容器 Activity ”的过程。在您描述的情况下,您有一个长期运行的申请流程,这是双重事实。

    最佳实践是让Docker容器运行一个进程,并将其作为前台作业运行。如果该进程退出,则容器也将退出-您需要这样做。 (这会让您的Node应用程序死掉很尴尬,但您可能没有注意到,因为Docker知道tail -f /dev/null仍在运行。)

    简而言之,使用以下命令结束Dockerfile

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

    并忽略第二步“无为而治”过程。

    关于bash - 在Docker中运行两个可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56972257/

    相关文章:

    docker - Dockerfile:找不到命令

    linux - Docker 从部分图像中理解

    bash - 直接从 curl 执行二进制文件

    bash - 使用 awk 基于行和列减少几个大的制表符分隔矩阵

    linux - 库伯内斯 : hostname regex failed

    azure - docker 容器重启中的 RavenDB 在 Linux 虚拟机上失去连接

    docker - 与本地主机:5432的连接被拒绝。检查主机名和端口是否正确以及邮局主管正在接受TCP/IP连接

    linux - 在所有启动过程后运行我的应用程序

    bash - 使用超时命令时出错 - 无效的时间间隔

    java - 在单独的机器上运行 bazel 远程执行程序测试