docker 部署node服务注意事项

234 阅读1分钟

docker运行镜像生成的容器服务不能长期运行就退出了

1、部署egg启动的服务

原因

  • 1、通过docker logs 容器Id 来查看容器日志,判断是否存在配置报错
  • 2、服务起来了但是容器是瞬间起了就停掉了,检查egg-script 启动时,是否开启了后台运行

解决方案

  • 1、修改配置,保证服务正常启动
  • 2、在启动服务时,去掉 --daemon 配置,保证服务在前台运行

pm2启动的node服务

  • 原因
    • pm2 启动的服务默认是后台运行
  • 解决方案
    • 将 pm2 启动方式改成 pm2-runtime 方式运行

2、docker运行的node服务,在外部设置端口映射,不能通达内部容器内部服务,进入容器内部访问正常响应

原因

  • 启动的项目是否设置了指定host,这可能造成ip访问不到

解决方案

  • 简单暴力设置hostname 为 0.0.0.0, 避免服务框架指定默认为localhost