You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建React Client容器时yarn install遇npm registry错误求助

Docker容器构建问题:Client容器Yarn安装依赖失败

我部署了三个Docker容器:一个用于MySQL的db容器、一个Node.js的server容器,以及一个基于create-react-app的client容器。错误出现在client容器中。

此前该环境一直正常运行,直到我尝试为生产环境配置独立的Nginx容器(之后已删除所有相关配置代码,但错误仍持续存在)。

错误信息如下:

Step 9/12 : RUN yarn install
 ---> Running in 45145c591167
yarn install v1.22.19
info No lockfile found.
[1/4] Resolving packages...
warning @svgr/plugin-svgo > svgo > stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
info There appears to be trouble with the npm registry (returned undefined). Retrying...

该错误会持续重试直至超时。

已尝试的解决方法:

  • 执行docker system prune -a和docker volume prune后重新运行docker-compose up,问题依旧;
  • 删除本地的node_modules和yarn.lock文件,重新构建仍无效;
  • 在本地(非Docker环境)新建目录,执行yarn init并添加相同依赖到package.json,可以正常安装依赖,因此问题应出在Docker容器环境中。

相关配置代码:

docker-compose.yml

version: '3.7'

services:
  db:
    container_name: db
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: database_development
      MYSQL_PASSWORD: root
    cap_add:
      - SYS_NICE
  client:
    container_name: client
    build: ./client
    ports:
      - 3000:3000
    volumes:
      - ./client:/app
      - /app/node_modules
    environment:
      - NODE_ENV=development
      - CHOKIDAR_USEPOLLING=true
  server:
    container_name: server
    build: ./server
    ports:
      - 8080:8080
      - 4242:4242
    volumes:
      - ./server:/app
      - /app/node_modules
    depends_on:
      - db
    environment:
      - NODE_ENV=development

client Dockerfile

FROM node:16-alpine
RUN apk update && apk upgrade
RUN mkdir /app
WORKDIR /app

ARG NODE_ENV
ENV NODE_ENV ${NODE_ENV}

COPY package.json /app
RUN yarn install
COPY . .

EXPOSE 3000
CMD [ "yarn", "start" ]

内容的提问来源于stack exchange,提问作者i suck at programming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:24:29