Rua*_*ich 9 docker pm2 dockerfile docker-compose
我一直在将一些已经在同一台机器上执行的项目转移到各个泊坞窗。我尝试pm2在其中一个docker项目上使用,以确保如果出现问题(这是一个易失性项目),该服务将重新启动,并且某些示例要求使用Dockerfile pm2-runtime而不是pm2。我一直在寻找这两者的区别,但找不到特定的东西,有人可以帮忙吗?
Adi*_*iii 38
pm2 和 pm2-runtime 之间的主要区别是
简单来说,容器的寿命就是CMDor的寿命entrypoint。
例如
文件
FROM node:alpine
RUN npm install pm2 -g
COPY . /app
WORKDIR /app
CMD [ "pm2", "start","/app/server.js"]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,容器将在运行该进程后立即死亡。
为了解决这个问题,你有pm2-runtime
FROM node:alpine
RUN npm install pm2 -g
COPY . /app
WORKDIR /app
ENV NODE_ENV=development
CMD [ "pm2-runtime", "start","/app/bin/www"]
Run Code Online (Sandbox Code Playgroud)
随着容器继续运行并分配 tty 会话。
从文档
pm2-runtime 的目标是将您的应用程序包装到合适的 Node.js 生产环境中。它解决了在容器内运行 Node.js 应用程序时的主要问题,例如:
用于高应用程序可靠性的第二个进程回退 进程流控制 自动应用程序监控,以保持其始终健全和高性能 自动源映射发现和解析支持 更进一步,使用 PM2 作为容器和应用程序之间的层带来了 PM2 强大的功能,如应用程序声明文件、可定制的日志系统和其他强大的功能来管理您在生产环境中的 Node.js 应用程序。
| 归档时间: |
|
| 查看次数: |
2772 次 |
| 最近记录: |