Node.js 使用dockerfile安装fresh react应用程序

Node.js 使用dockerfile安装fresh react应用程序,node.js,reactjs,docker,npm,Node.js,Reactjs,Docker,Npm,我正在尝试使用Dockerfile运行React的新安装 FROM node:12.14-alpine RUN mkdir /app WORKDIR /app RUN npm install -g nodemon \ npx create-react-app . COPY package.json package.json RUN npm install --silent COPY . . CMD [ "node", "start" ] 我的根文件夹是空的,因此不存在pack

我正在尝试使用Dockerfile运行React的新安装

FROM node:12.14-alpine

RUN mkdir /app
WORKDIR /app

RUN npm install -g nodemon \
    npx create-react-app .

COPY package.json package.json
RUN npm install --silent

COPY . .

CMD [ "node", "start" ]
我的根文件夹是空的,因此不存在package.json文件等。当我运行
docker compose-up--build
时,我收到以下错误,表明
npx create react应用程序失败。

Step 5/9 : RUN npm install -g nodemon     npx create-react-app .
 ---> Running in c4878af5f94d
npm ERR! code ENOLOCAL
npm ERR! Could not install from "" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-02-18T12_55_14_899Z-debug.log
ERROR: Service 'react' failed to build: The command '/bin/sh -c npm install -g nodemon     npx create-react-app .' returned a non-zero code: 1

知道我做错了什么吗?我没有在本机上安装node或npm,因此不需要通过docker运行所有内容

您需要删除。在运行结束时:

RUN npm install -g nodemon \
    npx \
    create-react-app
您忘记了第7行开头的“&&”

FROM node:12.14-alpine

RUN mkdir /app
WORKDIR /app

RUN npm install -g nodemon \
    && npx create-react-app .

COPY package.json package.json
RUN npm install --silent

...

CMD [ "node", "start" ]

我尝试了你的代码,但仍然抛出了一个错误
错误:服务'react'无法生成:命令'/bin/sh-c npm install-g nodemon npx create react app'返回了一个非零代码:239
当你运行
create react app
时,这不是要为我创建一个package.json文件吗?我通过了这个错误--force to the npm命令:npm install--force-g…我建议先用本地节点构建应用程序,然后再推出Docker。运行
create react app
并创建一个新的空应用程序,因为图像中打包的单个内容似乎没有那么有用。@DavidMaze使用docker无法做到这一点吗?我更愿意让我的本地操作系统更干净,或者如果有其他方法安装react?