node在docker中部署代码应该怎么玩?
发布于 3 个月前 作者 zengming00 927 次浏览 来自 问答
  • 要不要pm2 ? 用哪个? 直接用 pm2 还是封装好了的docker容器 pm2-runtime
  • pm2 会在 ~/.pm2 产生一些文件,尤其是日志 有的是放在logs里面,有的却不放在里面,而 pm2-logrotate 的配置又在 ~/.pm2/module_conf.json ,这怎么办? 我是想把它这个目录整个用主机的目录代替
  • 怎么连接主机的mongo,主机有mongo,容器怎么连外部的mongo?
  • 容器里面是root身份,这个有没有问题?
8 回复

你可以参考下 egg-cnode的做法 源码在github上

docker-compose 你值得拥有。

  1. 我是直接在docker中装得pm2, pm2-runtime的docker镜像应该就是替你做了这件事把,不知道还有没有别的
  2. 可以把日志映射出来把,不太懂这个问题
  3. 连外部的可以试试设置docker-compose网络模式host

放在docker里就不用pm2, pm2是线程管理, 用了docker之后,用swarm 或k8s框架管理docker容器就行了

直接把node程序打包成镜像,和正常的node程序一样访问mongo就行了

pm2是个进程管理工具,docker本身就可以做进程管理,服务重启。可以不用pm2,不过pm2的日志功能就需要自己实现了

@Sanske 想要请问一下,如果不是用pm2的话怎么充分利用cpu,我现在用pm2主要就是为了跑多个进程

回到顶部