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

在Docker容器中永久启动节点时出错

葛修永
2023-03-14
问题内容

在永久启动Docker容器中启动节点时,如果我手动启动时出现问题,而是在构建和启动容器时退出Dockerfile中的同一命令,则退出了。该命令在bash中有效:

docker run -it container_name bash forever start -c 'node --harmony' /my/path/app.js

我试图将命令放入Dockerfile中,但容器未启动

CMD forever start -c 'node --harmony' /my/path/app.js

问题答案:

Google网上论坛讨论

Forever start script.js在后台运行。要forever在前台运行,请尝试forever script.js

这永远从前台开始,这正是Docker需要的。请记住,只有在CMD中定义的过程启动并运行时,容器才是“活动的”。由于永远作为守护程序启动,因此命令本身会退出,而docker也将退出。

CMD forever -c 'node --harmony' /my/path/app.js


 类似资料:
  • 我成功地在ubuntu 18.04上安装了docker和nvidia-docker,我从NVIDIA的GPU云中提取了这个图像 用这个命令运行它 例如,容器给了我一个shell提示,它似乎可以工作 导致 它看到了我脆弱的gpu。我尝试用这个命令运行jupyter 但我明白了 我知道Jupyter安装在容器里因为当我打字的时候 我得到 打字 给予 在连接到容器的主机目录中,我有几个笔记本 但似乎什么

  • 问题内容: 我想在Centos7的Docker容器中运行Jenkins。我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方的jenkins映像。 接下来,使用该映像运行一个容器,并将数据目录从该容器映射到主机;例如,在下面的示例中,容器中的/ var / jenkins_home从主机上的当前路径映射到jenkins /目录。Jenkins 8080端口也以49001的身份向主

  • 问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We

  • 当我运行以下命令时,我将得到错误: 检测到体系结构x86-64。将主机名设置为。 正在从随机生成器初始化机器ID。 无法移动剩余的userspace进程,忽略:输入/输出错误

  • 问题内容: 要为Ubuntu映像启动交互式shell,我们可以运行: 但是,对于Alpine Docker映像运行此命令时,将得到以下结果: 在Alpine基本容器中启动交互式Shell的命令是什么? 问题答案: 上面使用的选项: 是BusyBox提供的Ash(Almquist Shell)。 退出时自动移除容器() 交互模式(即使未连接也保持STDIN打开) 分配伪TTY

  • 我们注意到我们的容器占用了很多空间,其中一个原因是图像。 我们想移动图像。 我知道现在它们存储在