使用docker run命令启动开发服务器后,React Script立即退出

时间:2020-05-24 17:28:29

标签: reactjs docker

我安装了名为create-react-app的模块,然后执行此 create-react-app前端命令以生成项目。它是一个自定义图像。在生成项目后,我制作了用于自定义图像生成的自定义docker YAML文件。图像已成功生成。但是,使用此命令 docker run 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"]

2 个答案:

答案 0 :(得分:0)

出于开发目的,只需使用npm start即可,它使用react-scripts运行并监视您的应用程序的更改。

要使用Docker部署应用程序,您可以使用静态文件服务器(例如docker中的serve)。在下面使用dockerfile。

FROM node:8-alpine

RUN npm install serve -g

COPY build/ .

EXPOSE 5000

CMD ["serve", "-s", "."]

在构建映像之前,运行npm run build以生成可用于生产的发行版-该发行版是项目build文件夹中所有文件的集合

有关如何部署使用create-react-app create-react-app docs创建的react应用的更多详细信息

答案 1 :(得分:0)

您需要添加-it标志以交互方式运行容器(保持STDIN打开并分配伪tty):

docker run -it CONTAINER_ID

这是由于Create React App库中的最新更新引起的,添加此标志应该可以解决您的问题。