当前位置: 首页 > 知识库问答 >
问题:

反应脚本启动期间Docker容器突然退出

惠野
2023-03-14

我想在Docker中运行一个简单的React应用程序。它在外面运行良好,但当我试图从docker运行它时,我得到了以下错误,目前我没有线索。

custportal_1         | yarn run v1.15.2
custportal_1         | $ react-scripts start
custportal_1         | ℹ 「wds」: Project is running at http://172.24.0.12/
custportal_1         | ℹ 「wds」: webpack output is served from 
custportal_1         | ℹ 「wds」: Content not from webpack is served from /usr/src/app/public
custportal_1         | ℹ 「wds」: 404s will fallback to /
custportal_1         | Starting the development server...
custportal_1         | 
custportal_1         | Done in 2.61s.
custportal_1 exited with code 0

应用程序是通过创建-反应-应用命令创建的。我的泊坞文件配置是

FROM node:11 as build-deps
WORKDIR /usr/src/app
COPY package.json yarn.lock ./
RUN yarn
COPY . ./
RUN yarn build

同样,应用程序在外部运行良好,但在Docker内部调用时会中断。在docker-compose中,我用

command: bash -c "export PORT=8081 && yarn start"

**我在后台运行nginx反向代理。

共有1个答案

康弘义
2023-03-14

在docker-compose中添加stdin_open: true可以解决这个问题。花了几个小时才得到这个解决方案。参考github

另外,我注意到 react 脚本在启动期间在 docker 内部突然调用浏览器。在泊坞窗内没有必要。添加环境变量(如浏览器=无)可以省略此行为。

快乐编码..

 类似资料:
  • 我有一个服务,我正在通过Rancher通过Docker-Compose提出。我遇到的问题是需要在容器部署后设置密码。

  • 问题内容: 我正在使用Search Guard插件来保护由多个节点组成的elasticsearch集群。这是我的Dockerfile: 初始化SearchGuard(创建内部用户并分配角色)。容器启动后,我需要运行脚本。这是问题所在:除非运行Elasticsearch,否则脚本将不会初始化任何安全性索引。 脚本的内容是: 现在,我只是在容器启动后手动运行脚本,但是由于我是在Kubernetes上运

  • 问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We

  • 同时使用redux与反应。我试图在安装react-redux和redux库后,为我的应用程序(reactwiseldux)进行npm启动。我在下面看到这个错误。我自己也在想办法,但目前还没找到。请帮帮我。 “反应脚本”不被识别为内部或外部命令、可操作程序或批处理文件。npm错误!代码ELIFECYCLE npm ERR!错误1 npm错误!reactwithredux@0.1.0开始:npm ER

  • 我有以下系统脚本: 运行命令:systemctl start/stop hub工作正常。我还使用systemctl启用集线器创建了符号链接。为什么我的服务在我重新启动整个笔记本电脑后没有启动?我遵循了docker指南,以便Docker在重新启动时启动,但由于某种原因我的容器没有启动。我的脚本中缺少一个字段吗? 我正在使用ExecStart,“/home/hub/hub.sh”脚本的命令是: 重新启

  • 问题内容: 我用mysql启动了一个docker容器。 实际上,我想创建一个新用户和一个新表-我必须在MySQL Workbench中进行操作。 这是我的docker run命令: 我的问题是: 如何添加创建用户和表的sql启动脚本(仅用于容器的首次启动)? 我必须执行哪些步骤? 有人可以帮我吗? 非常感谢! 问题答案: 你需要通过创建用户,ENV VAR和使用量与启动脚本映射目录(,,) 解释来