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

无法使用docker容器运行react应用程序

荀辰钊
2023-03-14

我有一个react-app,它简单地显示hello-world消息,但我喜欢运行应用程序通过docker-container,但有这个问题。在此消息之后,进程停止,没有运行应用程序。

ℹ 「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
RUN mkdir /app
COPY . /app
WORKDIR /app
COPY package.json ./
RUN npm install
CMD ["npm", "start"]

我需要安装webpack-dev-server吗,我尝试了,但得到了版本错误,如“手动添加服务器”的版本比已经安装的服务器低。所以我重新安装webpack-dev-server。

共有1个答案

宋晋
2023-03-14

问题是,如果不是交互式终端,dev模式将无法运行。

更改docker命令以包含交互式终端:

-it添加到您的docker run命令(-iinteractive,-tpseudo-TTY)中,例如docker run-it-p 3000:3000 your_container

在容器中添加debug=*作为环境变量。debug是控制许多节点模块日志记录的环境变量。

dockerfile中,添加

ENV DEBUG=*

或者在命令行中,将-e'debug=*'添加到docker命令中。

CMD ["node", "index.js"]

如果这是docker设置的一个问题,运行一个已知的好容器可以帮助您发现它。

docker run --rm -it node:alpine

您的dockerfile也可以稍微简化一下。

FROM node:alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
CMD ["npm", "start"]
  • mkdir不需要,因为workdir会自动创建目录。
  • package*.json还将复制package-lock.json
  • --产品将跳过安装DevDependencies
  • copy命令放在最后将更好地利用缓存(除非依赖项已更改,否则不必重新运行npm install)
 类似资料:
  • 其基本思想是运行带有音频和ui的应用程序(vlc、firefox、skype…) 我在使用pulseaudio搜索docker容器,但我找到的所有容器都在TCP上使用pulseaudio流。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docker-chrome-

  • 我有一个React应用程序,它基于Facebook的。在开发过程中,我在特定的本地端口(60001)上运行它。为了实现这一点,我更改了包中部分的默认脚本。将json添加到以下内容: 我现在需要在使用相同端口的Docker容器中运行此操作。在我的Dockerfile中,我有这两个阶段: 请注意,我正在公开希望npm dev服务器绑定到的容器上的端口。 我按照您的预期构建映像,目标是上面的Docker

  • Dockerfile文件 docker撰写。yml 我发射的命令是为了让这个起来 docker-compose-fdocker-compose.yml 之后我去了https://localhost:3000这个项目没有加载。这是可复制的回购协议https://github.com/reyanshmishra/My-Portfolio-ReactJS 谢啦

  • 我是docker新手,我正在尝试使用gae中的docker容器运行我的web2py应用程序,我的docker文件创建docker图像,下面是我的docker文件 上面的dockerfile是使用 我试图使用http://localhost:8080访问我的应用程序,但我得到了这个网页不可用,所以我改变端口号为9090和 根据我的ip r,但我得到了谷歌。阿彭金。工具。devappserver2。w

  • 问题内容: 。 基本思想是使用音频和ui(vlc,firefox,skype等)运行应用程序 我正在使用pulseaudio搜索docker容器,但是找到了所有在tcp上使用pulseaudio流传输的容器。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docke

  • 我正在尝试运行,但它似乎没有按应有的方式工作。我正在尝试以下命令: 创建react应用程序我的应用程序 cd我的应用程序 npm启动 如果您可以帮助此处输入图像描述,那么在尝试运行时会出现以下错误