Docker内构建Next.js/Node应用时出现异常内存/IO错误
Docker环境下Next.js构建失败及Yarn安装异常问题
环境配置
- 服务器:Ubuntu 22.04 Linux,配备1.3T NVMe SSD、64GB内存
- 应用:基于最新Next.js和Node.js的生产级前端应用,通过Docker Compose部署
- Dockerfile核心构建命令:
RUN yarn install RUN yarn build
问题现象
此前部署流程完全正常,昨日起出现两类异常:
- Yarn安装随机卡住:重新部署时
yarn install会无规律卡住,提示网络缓慢,但服务器实际网络连接正常 - 构建阶段崩溃:临时改用宿主机执行
yarn install,再将源码及node_modules复制到容器后,安装步骤可行,但执行yarn build时直接崩溃,错误日志如下:
#23 0.261 yarn run v1.22.22 #23 0.283 $ GENERATE_SOURCEMAP=false next build #23 0.717 #23 0.757 ▲ Next.js 14.2.5 #23 0.757 #23 0.804 Creating an optimized production build ... #23 13.93 FATAL ERROR: v8::Object::GetCreationContextChecked No creation context available #23 13.93 ----- Native stack trace ----- #23 13.93 #23 13.93 1: 0xe22fc9 node::OnFatalError(char const*, char const*) [/usr/local/bin/node] #23 13.93 2: 0x122b176 v8::Utils::ReportApiFailure(char const*, char const*) [/usr/local/bin/node] #23 13.93 3: 0x12405ac v8::Object::GetCreationContextChecked() [/usr/local/bin/node] #23 13.93 4: 0xf7d90c [/usr/local/bin/node] #23 13.93 5: 0x7f78dd77613c #23 13.93 #23 13.93 #23 13.93 # #23 13.93 # Fatal error in , line 0 #23 13.93 # Missing deoptimization information for OptimizedFrame::Summarize. #23 13.93 # #23 13.93 # #23 13.93 # #23 13.93 #FailureMessage Object: 0x7fff91793c30 #23 13.93 ----- Native stack trace ----- #23 13.93 #23 13.93 1: 0xffe461 [/usr/local/bin/node] #23 13.93 2: 0x28c276b V8_Fatal(char const*, ...) [/usr/local/bin/node] #23 13.93 3: 0x139cff3 v8::internal::OptimizedFrame::Summarize(std::vector<v8::internal::FrameSummary, std::allocator<v8::internal::FrameSummary> >*) const [/usr/local/bin/node] #23 13.93 4: 0x13a5116 [/usr/local/bin/node] #23 13.93 5: 0x13a931c v8::internal::Isolate::CaptureDetailedStackTrace(int, v8::StackTrace::StackTraceOptions) [/usr/local/bin/node] #23 13.94 6: 0x12361f3 v8::StackTrace::CurrentStackTrace(v8::Isolate*, int, v8::StackTrace::StackTraceOptions) [/usr/local/bin/node] #23 13.94 7: 0xf76c96 node::GetCurrentStackTrace(v8::Isolate*, int) [/usr/local/bin/node] #23 13.94 8: 0xec549b node::DumpJavaScriptBacktrace(_IO_FILE*) [/usr/local/bin/node] #23 13.94 9: 0xe22fd5 node::OnFatalError(char const*, char const*) [/usr/local/bin/node] #23 13.94 10: 0x122b176 v8::Utils::ReportApiFailure(char const*, char const*) [/usr/local/bin/node] #23 13.94 11: 0x12405ac v8::Object::GetCreationContextChecked() [/usr/local/bin/node] #23 13.94 12: 0xf7d90c [/usr/local/bin/node] #23 13.94 13: 0x7f78dd77613c #23 14.07 Trace/breakpoint trap (core dumped) #23 14.08 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. #23 14.08 error Command failed with exit code 133. #23 ERROR: process "/bin/sh -c yarn build" did not complete successfully: exit code: 133
关键观察
- 宿主机直接执行
yarn install和yarn build全程正常,问题仅局限于Docker环境内 - 初步排查推测:
yarn install卡住可能与IO性能不足有关- build阶段的V8致命错误疑似内存资源受限导致
- 历史情况:数月前曾出现完全相同的问题,尝试过清空服务器、更换SSD均无效,最终只能更换服务器解决,当前问题复现,排除硬件故障可能性
环境版本信息
- Docker:26.1.4,build 5650f9b
- Node.js:22
- 操作系统:Ubuntu 22.04
内容的提问来源于stack exchange,提问作者Max Frai
相关产品推荐
相关产品推荐

