我尝试在Docker容器中运行NextJS应用程序,我使用Prisma连接到我的数据库,并使用NextAuth连接到OAuth。
如果我在本地运行应用程序,我就能够成功登录(iidoEe.,我可以按预期运行整个流程)。
然而,如果我在docker容器中运行它,我一到达pages/api/auth[...nextAuth].ts
路径就会收到错误。
我能找到的日志只有:
docker-crud-next-1 | wait - compiling /api/auth/[...nextauth] (client and server)...
docker-crud-next-1 | event - compiled client and server successfully in 5.9s (610 modules)
docker-crud-next-1 exited with code 0
我已经尝试跟随调试器文档,但无法让它在Docker容器中工作?
我也尝试过从容器中手动运行应用程序,但情况相同-应用程序只是死了,没有日志可看。
IidoEe.,我创建了容器,然后打开一个交互式shell并手动运行start命令。从日志的Angular 来看没有改进。,
我认为可能是prisma客户端(这里)......但我不知道是什么导致了应用程序崩溃。
所以,问题是:
1.有什么更好的方法来获得日志,这样我就可以找出 * 为什么 * 它崩溃?
1.你知道为什么它在本地可以工作而在容器中不行吗?
我使用的是Mac13.1,上面有Intel芯片(不是M1/2芯片),我的理解是我使用的是Debian基础的Docker容器(不过,这可能是问题3 --我如何查询我正在使用的图像,因为它是基于Microsoft的Typescript Node图像的)
1条答案
按热度按时间v6ylcynt1#
问题 * 似乎 * 与我一直使用的基础映像有关。
我错过了一个免责声明时,移植一个项目从不同的机器(一个M1的Mac)到这一个(基于英特尔的Mac),我正在使用的图像保留
-bullseye
变种的M1(源代码)。移动到 * 不带 * 变体的基础图像:
或者使用甚至更基本的
node:18-alpine
。有趣的是,尝试用
18
的变体标记typescripte-node
映像似乎没有起作用:无论哪种方式,我现在有一个工作的应用程序和Next没有崩溃。我仍然希望有人能帮助我了解什么依赖性崩溃,甚至更好地 * 如何 * 我可以检测到它,因为我的日志仍然完全裸露。