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

标签 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 文件运行良好

最佳答案

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

stdin_open: true

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

关于reactjs - 使用 npm init react-app 时 Docker 容器启动后立即退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60790440/

相关文章:

docker - Docker构成冗余吗?

amazon-cloudfront - 删除service-worker.js(特殊情况)

javascript - 当嵌套在 'smart' Redux 容器组件下时,React 路由不会自动更新

reactjs - Dom 包含或比较 React 中的文档位置模拟

docker - 在 GitLab CI 中使用 QEMU 而不是 Docker 镜像

docker - 在容器中运行 Jenkins Job

javascript - 创建 React 应用程序 + React lazy + Absolute Imports

node.js - 使用 Express 服务 React 应用程序时从 express.static 中排除 index.html

reactjs - 如何使用bindActionCreators传递值?

html - 在我的 getStepContent 方法中显示一个文本框