node在docker中部署代码应该怎么玩?
- 要不要pm2 ? 用哪个? 直接用 pm2 还是封装好了的docker容器 pm2-runtime
- pm2 会在 ~/.pm2 产生一些文件,尤其是日志 有的是放在logs里面,有的却不放在里面,而 pm2-logrotate 的配置又在 ~/.pm2/module_conf.json ,这怎么办? 我是想把它这个目录整个用主机的目录代替
- 怎么连接主机的mongo,主机有mongo,容器怎么连外部的mongo?
- 容器里面是root身份,这个有没有问题?
8 回复
你可以参考下 egg-cnode的做法 源码在github上
docker-compose 你值得拥有。
69
- 我是直接在docker中装得pm2, pm2-runtime的docker镜像应该就是替你做了这件事把,不知道还有没有别的
- 可以把日志映射出来把,不太懂这个问题
- 连外部的可以试试设置docker-compose网络模式host
放在docker里就不用pm2, pm2是线程管理, 用了docker之后,用swarm 或k8s框架管理docker容器就行了
直接把node程序打包成镜像,和正常的node程序一样访问mongo就行了
pm2是个进程管理工具,docker本身就可以做进程管理,服务重启。可以不用pm2,不过pm2的日志功能就需要自己实现了
@Sanske 想要请问一下,如果不是用pm2的话怎么充分利用cpu,我现在用pm2主要就是为了跑多个进程