reactjs - Docker 停留在 npm install

标签 reactjs docker dockerfile

我有一个要 dockerize 的项目。我跑 npm installnpm build在我的电脑上没有问题,但是当我用 Docker 构建时它有一些问题。

docker 输出:

Sending build context to Docker daemon  56.96MB
Step 1/7 : FROM node:12.2.0-alpine
---> f391dabf9dce
Step 2/7 : WORKDIR /app
---> Using cache
---> b50a8efbf074
Step 3/7 : ENV PATH /app/node_modules/.bin:$PATH
---> Using cache
---> 3358967a13ab
Step 4/7 : COPY package.json /app/package.json
---> Using cache
---> 851ac31a0adb
Step 5/7 : RUN npm install
---> Running in 8cc36a435cec
npm WARN deprecated core-js@1.2.7: core-js@<2.6.8 is no longer maintained. Please, upgrade to core-js@3 or at least to actual version of core-js@2.

它卡在这里:

Dockerfile:
# base image
FROM node:12.2.0-alpine

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# install and cache app dependencies
COPY package.json /app/package.json
RUN npm install
RUN npm install react-scripts@3.0.1 -g --silent

# start app
CMD ["npm", "start"]

我已经用其他 dockerfiles 做到了这一点,但结果是一样的。

包.json:
{
  "name": "front",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "axios": "^0.18.0",
    "bootstrap": "^4.3.1",
    "express": "^4.17.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-router": "^5.0.0",
    "react-router-dom": "^5.0.0",
    "react-scripts": "2.1.8"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

最佳答案

因此,在正确解决此问题之前,这可能是一个临时解决方案,但您可以使用

npm config set registry http://registry.npmjs.org/

我已经将它用于 docker 环境,并且运行良好。

关于reactjs - Docker 停留在 npm install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56295037/

相关文章:

reactjs - webpack-cli TypeError cli.isValidationError 不是函数

reactjs - @types/react-router-dom 在 vi​​te 构建时给出错误

javascript - 为什么 React 将默认复选框值复制到属性?

docker - 带有 docker 部署 windows 容器的 Linux 机器

docker - docker 镜像存储在本地机器的什么位置

javascript - React : setState() hook, 初始颜色未设置

docker - 将 docker-machine 移动到另一台计算机

php - Docker:如何在多个容器/服务之间共享相同的应用程序代码(例如PHP-FPM和NGINX)

docker - docker 服务如何管理从单独的 docker 容器调用实例?

mysql - docker: 无法映射 "/var/run/mysqld/mysqld.sock"?