我正在处理一个Next.js项目,其中包含在Docker容器中运行的PostgreSQL数据库.我的项目设置使用Docker Compose.然而,当我运行docker-compose up时,执行NPM安装命令需要花费很长时间.在我的开发机器上本地运行NPM安装不到一分钟就完成了.
在附加的日志(log)中,您可以看到,当我在日志(log)级别设置为Verbose的情况下运行NPM I时,它似乎在某个时间点之后挂起,没有任何进展.
[+] Building 3624.4s (7/8)
=> => transferring context: 34B 0.0s
=> [internal] load metadata for docker.io/library/node:latest 1.5s
=> [internal] load build context 0.1s
=> => transferring context: 906.47kB 0.1s
=> [1/4] FROM docker.io/library/node@sha256:xxx 0.0s
=> CACHED [2/4] WORKDIR /app 0.0s
=> [3/4] COPY . . 0.3s
=> [4/4] RUN npm install --loglevel verbose 2065.1s
=> => # npm http fetch GET 200 https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz 137294ms attempt #3 (cache miss)
=> => # npm http fetch GET 200 https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz 137326ms attempt #3 (cache miss)
=> => # npm http fetch GET 200 https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz 137403ms attempt #3 (cache miss)
=> => # npm http fetch GET 200 https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz 137436ms attempt #3 (cache miss)
=> => # npm http fetch GET 200 https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz 137633ms attempt #3 (cache miss)
=> => # npm http fetch GET 200 https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz 137706ms attempt #3 (cache miss)
这是我的对接-编排设置:
FROM node
WORKDIR /app
COPY . .
RUN npm install --loglevel verbose
ENV PORT=5000
EXPOSE 5000
ENTRYPOINT ["npm", "start"]
如果信息不清楚,请让我知道.