node.js - 如何将 express 和 react 应用程序堆叠在一起,然后在 docker 中运行
问题描述
我四处搜索但运气不佳,或者可能是因为我太菜鸟,但我在 github 上在线进行了这个项目,https://github.com/bradtraversy/react_express_starter,我试图让它可以与 docker 一起运行,但它似乎不想工作,在 docker 终端中它说服务器已启动并且反应应用程序位于 localhost:3000 但是当我将它粘贴到浏览器中时没有任何显示,甚至没有服务器和api是可访问的,所以我认为它必须与docker文件有关。我将dockerfile放在项目文件夹中。
我的 dockerfile 说
FROM node:latest
WORKDIR /app
COPY package.json ./
RUN npm install
CMD npm run client-install
COPY . .
EXPOSE 3000
CMD npm run dev
我通过“docker build -t project”构建它。然后使用“docker run -p 5000:5000 project”运行它
先感谢您
编辑:好的,我已经让服务器工作了,事实证明docker机器有另一个ip而不是localhost,所以端口5000和api调用一样工作,但是反应部分没有出现在端口3000上?
解决方案
看起来您将 EXPOSE 作为您的 dockerfile 的一部分。这可以在之前完成
CMD npm run dev
像这样
EXPOSE 3000
推荐阅读
- r - 通过网状在R中导入熊猫时出错
- android - Glide 图片在使用 JSON 时不显示,但在使用静态 URL 时显示
- python-3.x - 根据列标题名称对 pandas 数据框中的列重新排序,其中列的名称是字符串,最后包含数字
- azure - 如何使用 Python SDK 向 Azure ML 端点添加标签
- python - 使用 Pandas 绘制不同数据帧的条形图
- github-actions - .NET 6.0 预览版、dotnet 包、Github 操作失败
- python - 线性插值 - 除了 Numpy 没有外部库
- python - 下次打开时,如何在 PyQt5 QRadioButton 中将最后检查的项目存储为默认值?
- javascript - Puppeteer 错误:无法启动浏览器进程!,pthread_create,错误:platform_thread_posix.cc(135),资源暂时不可用 (11)
- docker - 在 Dockerfile 中为 Docker 映像选择 USER ID 和 GROUP ID 的任何标准指南?