Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用npm init react app启动后立即退出Docker容器_Reactjs_Docker_Create React App - Fatal编程技术网

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

Reactjs 使用npm init react app启动后立即退出Docker容器,reactjs,docker,create-react-app,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"]

我正在尝试用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时,这就是终端中的输出

> 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...
一旦点击
启动开发服务器…
它就会停止在我的终端中运行。如果我选中
Docker ps
我可以看到没有容器正在运行,如果我运行
Docker ps-a
我可以看到容器已启动,然后立即退出


Docker logs
显示上述终端输出,有人遇到这种情况吗?只有在我的npm init react应用程序项目中,我的其他nodejs+express项目才能使用完全相同的docker文件正常运行,因此设置没有问题。结果表明,存在一个未决问题


现在降级到3.4级

我尝试过降级,但没有成功。对我有用的是我添加的react应用程序扇区中的
docker compose
文件:

stdin_open: true

这里还建议使用此解决方案:

docker run-it-p 80:3000 imagename
解决我的问题。

使用
-it运行命令对我有效:

docker run -it -p 3001:3000 Imageid

遇到了同样的问题-它标志解决了问题

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

我遇到了与您相同的问题,只是运行了上面的命令来修复它:

sudo docker run-it-p 3001:3000图像名称


希望它能帮助我解决这个问题。在package.json内部,将“react scripts”:“3.4.1”替换为“react scripts”:“3.4.0”

然后重建图像,它的工作! 他们把react脚本搞砸了:“3.4.1”
只需使用3.4.0版

您也可以使用下面的-itd标志

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

你能分享你的
docker run
命令的详细信息吗?你是否使用
-d
标志来构建
docker build。
它构建成功,然后我正在运行
docker run
。它适用于我的其他项目,而不是使用
npm init react app创建的项目。我在两个不同的react-a中尝试了它pp repos一个弹出,一个正常,都不起作用。在my nodejs+express api项目中尝试,效果良好容器将在其主进程存在后立即退出。尝试运行
docker run-it--rm-v$(pwd):/usr/app-w/usr/app node:alpine
然后在提示下尝试
npm install
然后运行
npm start run
(注意:这可能会弄乱您的源目录,因此可能需要先备份您的项目)。您可能会通过这种方式获得一些有用的见解。然后,尝试同样的方法,但也可以在图像名称之前的运行行上使用
-e SKIP\u PREFLIGHT\u CHECK=true
。在docker文件中使用
EXPOSE 3000
,然后尝试基于问题进行构建。我认为这是正确的解决方案,因为问题没有提到docker-compose我为我的一个遗留软件包安装了它,但我要注意,
4.0.0
及更高版本已经修复了这个问题。