开发了一个nextjs应用程序,并将其部署到kubernetes (AKS)集群上。docker文件看起来与示例nextjs docker文件几乎相同(见这里)。
pod清单也没有什么特别的,我所做的就是设置一些环境变量并使用正确的docker映像设置容器。
nextjs应用拒绝在AKS集群的pod上启动
我已经从容器注册表中提取了docker映像,并且能够在docker桌面上本地启动它-一切正常
然而,它拒绝在kubernetes pod上启动,我已经束手无策了!我覆盖了pod上容器的入口点,并手动尝试通过kubectl在容器内运行node server.js
,然后……什么也不会发生。Node在一秒钟后退出,这似乎表明有什么东西导致nodejs静默崩溃。
这里可能出了什么问题?我是否有更多的输出来尝试诊断这个问题?
Ok,似乎运行操作和最终命令作为Dockerfile中指定的nextjs USER是在kubernetes中导致问题的位。删除这些并以默认方式运行,root用户将修复问题。