我正在使用
--cpu-prof
标志生成 Node.js 18.16.0 应用程序的 cpuprofile
。当我尝试启动 cpuprofile
的创建时,出现此错误:Failed to convert CPU profile message to V8 string
。
我将我的应用程序托管在 Azure 应用服务内的 Docker 容器中。此错误在互联网上的其他任何地方都没有出现过 - 这意味着什么,我该如何解决它?
Dockerfile:
FROM node:18-alpine AS builder
WORKDIR /build
COPY . .
RUN npm ci
RUN npm run compile
CMD ["npm", "start"]
如果您在 Docker 容器中运行 Node 应用程序,要使用
--cpu-prof
,您需要在 Dockerfile
中给出命令。
这对我有用:
我正在使用一个简单的 Node Express 应用程序。
Dockerfile
:
FROM node:lts-alpine
ENV NODE_ENV=production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
COPY . .
EXPOSE 3000
RUN chown -R node /usr/src/app
USER node
CMD ["node","--cpu-prof","--prof", "app.js"]
OUTPUT
:我可以在容器内看到我的 cpu 配置文件
要访问文件,请使用以下命令:
打开互动单元:
docker exec -it <container_name_or_id> sh
要从容器复制文件,您可以运行此命令
docker cp 938843ef2767:/usr/src/app/isolate-0x7fdafe318690-1-v8.log .
注意:使用
复制到当前文件夹。.