Reactjs 使用docker run命令启动development server后立即退出React脚本

Reactjs 使用docker run命令启动development server后立即退出React脚本,reactjs,docker,Reactjs,Docker,我安装了名为create-react-app的模块,然后执行该create-react-app-frontend命令生成项目。这是一个自定义图像。生成项目后,我制作了自定义docker YAML文件以生成自定义图像。图像已成功生成。但是,当使用此命令运行该映像时,docker运行b99c49b119be它会在启动开发服务器后立即退出。请参阅下面的错误信息 我运行了自定义映像生成的命令docker build-f Dockerfile.dev. 错误 Successfully built b99c

我安装了名为create-react-app的模块,然后执行该create-react-app-frontend命令生成项目。这是一个自定义图像。生成项目后,我制作了自定义docker YAML文件以生成自定义图像。图像已成功生成。但是,当使用此命令运行该映像时,docker运行b99c49b119be它会在启动开发服务器后立即退出。请参阅下面的错误信息

我运行了自定义映像生成的命令docker build-f Dockerfile.dev.

错误

Successfully built b99c49b119be
[root@client frontend]# docker run b99c49b119be

> frontend@0.1.0 start /app
> react-scripts start

ℹ 「wds」: Project is running at http://172.17.0.2/
ℹ 「wds」: webpack output is served from 
ℹ 「wds」: Content not from webpack is served from /app/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...
Dockerfile

FROM node:alpine

WORKDIR '/app'

COPY package.json .
RUN npm install

COPY . .

CMD ["npm", "run", "start"]

出于开发目的,只需使用
npm start
,它使用react脚本运行并监视应用程序的更改

要使用docker部署您的应用程序,您可以使用静态文件服务器,如serve in docker。使用下面的dockerfile

FROM node:8-alpine

RUN npm install serve -g

COPY build/ .

EXPOSE 5000

CMD ["serve", "-s", "."]
在生成映像之前,请运行
npm run build
以生成一个可供生产使用的发行版,它是项目
build
文件夹中所有文件的集合


有关如何部署使用
create react app创建的react app的更多详细信息,您需要添加-it标志以在交互模式下运行容器(保持STDIN打开并分配伪tty):

这是由于Create React应用程序库中最近的更新导致的,添加此标志应该可以解决您的问题

docker run -it CONTAINER_ID