使用npm init react-app启动后,Docker容器立即退出

时间:2020-03-21 16:38:36

标签: reactjs docker create-react-app

我正在尝试使用react项目启动Docker容器,该项目是使用npm init react-app创建的。

这是我的docker文件

# Specify a base image
FROM node:alpine

WORKDIR /usr/app

# Install some depenendencies
COPY ./package.json ./
RUN npm install
COPY ./ ./

# Default command
CMD ["npm", "run", "start"]

Docker build .成功创建了一个图像(带有很多npm警告),然后当我运行Docker run <image>时,这是终端中的输出

> mytest@0.1.0 start /usr/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 /usr/app/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

一旦它击中Starting the development server...,它就会在我的终端上停止运行。如果我检查Docker ps,则看不到任何容器在运行,如果我运行Docker ps -a,则可以看到一个容器已启动,然后立即退出。

Docker logs显示上面的终端输出,有人遇到这种情况吗?仅在我的npm init react-app项目中,我的其他nodejs + express项目在完全相同的docker文件下运行良好

8 个答案:

答案 0 :(得分:39)

我尝试降级,但是没有用。对我有用的是在我添加的react应用程序部门的docker-compose文件中:

stdin_open: true

此处也建议使用此解决方案:issue on github

答案 1 :(得分:22)

{{1}}解决了我的问题。

答案 2 :(得分:11)

使用City: 'South Pierceberg'运行命令对我有用:

-it

答案 3 :(得分:4)

因此设置没有问题,这是一个未解决的问题。

https://github.com/facebook/create-react-app/issues/8688

降级到3.4现在可以解决

答案 4 :(得分:4)

遇到同样的问题。 -it 标志解决了该问题。

docker run -it -p 3001:3001 <image-id>

答案 5 :(得分:4)

我遇到了与您相同的问题,只是运行以上命令对其进行了修复:

sudo docker run -it -p 3001:3000 Image-Name

希望有帮助

答案 6 :(得分:4)

我解决了这个问题。在package.json内部,将“ react-scripts”:“ 3.4.1”替换为“ react-scripts”:“ 3.4.0”

然后重建映像,它可以正常工作! 他们用react-script弄乱了一些东西”:“ 3.4.1” 只需使用3.4.0版本

答案 7 :(得分:0)

您也可以使用带有 -itd 标志的以下内容。

sudo docker run -itd -p 3001:3000 Image-Name
相关问题