当前位置: 首页 > 面试题库 >

在Docker CMD中执行后台进程的命令

席兴朝
2023-03-14
问题内容

我正在使用Dockerfile创建Docker映像。我想在启动Docker容器时执行一些脚本。目前,我有一个Shell脚本来执行所有必要的过程

CMD [“ sh”,“ start.sh”]

我想用在后台示例中运行的进程执行shell命令

CMD [“ sh”,“-c”,“ mongod –dbpath / test&”]


问题答案:

除了对您的问题的评论已经指出有关Docker最佳实践的一些内容之外,您仍然可以从脚本内部启动 后台
进程start.sh并使用命令和符号()将start.sh脚本本身保持在 前台
。我没有尝试过,但是脚本中的以下内容可以工作:nohup``&``mongod``start.sh

#!/bin/sh
...
nohup sh -c mongod --dbpath /test &
...


 类似资料:
  • 我正在使用DockerFile创建一个docker图像。我想在启动docker容器的同时执行一些脚本。目前我有一个shell脚本来执行所有必要的进程 CMD[“sh”,“start.sh”]

  • 问题内容: 我需要在用户操作时执行目录副本,但是目录很大,因此我希望能够执行这样的操作,而用户却不知道完成副本所花费的时间。 任何建议将不胜感激。 问题答案: 假设它在Linux机器上运行,我总是这样处理: 这将启动命令,将命令输出重定向到,并将进程ID写入。 这样一来,您可以轻松地监视该进程在做什么以及它是否仍在运行。

  • 问题内容: 我有一个无限的NodeJS 循环,我需要这个脚本来在后台执行另一个脚本作为服务,而这实际上是一个WebSocket服务。 因此,现在两个脚本都可以正常运行! 当我在上执行时,该脚本也会从我不想删除的内存中删除。 如何在后台运行某些东西而忘记? 问题答案: 您可以使用child_process.spawn和以下选项来实现: 它将使子流程成为新流程组的领导者,因此它将在父流程退出后继续运行

  • 前面所讲,都是将工作丢到后台去运行,那么,有没有可以将后台工作拿到前台来执行的办法呢?答案是肯定的,使用  fg 命令即可。 fg 命令用于把后台工作恢复到前台执行,该命令的基本格式如下: [root@localhost ~]#fg %工作号 注意,在使用此命令时,% 可以省略,但若将 全部省略,则此命令会将带有 + 号的工作恢复到前台。另外,使用此命令的过程中, % 可有可无。 例如: [roo

  • 问题内容: 我想使用ffmpeg在php中将视频转换为.flv。目前,我正在执行此操作,但是它会挂起浏览器,直到文件上传完毕。我一直在寻找有关如何在后台运行exec()进程的php文档,同时使用返回的PID更新进程。这是我发现的: 我还使用一个技巧来跟踪后台任务是否正在使用返回的PID运行: 我是否想创建一个单独的.php文件,然后从php cli运行以执行以下功能之一?我只需要稍微推动一下即可开

  • 本文向大家介绍在Linux中后台运行命令,包括了在Linux中后台运行命令的使用技巧和注意事项,需要的朋友参考一下 要了解何时使用Linux,一种有用的技术是在后台运行命令。有时某些命令可能要花一些时间(例如复制大文件),或者在运行时仅接管终端窗口。例如,假设您在gedit中打开文件,则可以使用以下命令。 gedit file.txt 这样做将在gedit中打开文件,但在关闭gedit之前不允许您