javascript - 在 apache 或 aws 上使用 docker 部署 React 构建

标签 javascript reactjs apache amazon-web-services docker

我是 Docker 和 React 新手。我想知道如何在 AWS 上部署生产版本。 我已经尝试过的步骤如下:

  1. 创建一个 dockerfile。
  2. 在服务器上构建并运行它。
  3. npm runnpm run build 在容器内运行。
  4. 通过卷公开构建文件夹。

现在我的问题是:如何使用 Apache-HTTP-Server 将其部署在 AWS 上并在端口 80 上公开服务?

最佳答案

你已经很接近了。您只需将 Apache Webserver 安装到 docker 容器中即可。

但是你不需要自己做。您只需使用 FROM httpd:latest 启动 dockerfile 即可使用 official apache container 作为基础。

我的建议是使用两个 docker 容器和一个共享卷。第一个容器从源代码构建您的应用程序,并在工作完成后退出。第二个容器托管 apache,并将构建目录安装到其 htdocs 目录。这样您就可以使用 official apache container 而不需要修改,并且您已经创建了构建容器。

第三种选择是使用节点而不是 apache 进行托管,然后可以使用 nodejs container 作为基础,以及有关如何使用 here 的说明手册。

此外,您可能对 shakyShane 的 awesome post 感兴趣,他在其中描述了如何使用单个 dockerfile 解决此问题

编辑:我现在正在使用这个Dockerfile。但是,您应该在 docker-compose 文件等中指定端口。

关于javascript - 在 apache 或 aws 上使用 docker 部署 React 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312916/

相关文章:

javascript - 如何检测手机Safari全局方向旋转动画

javascript - Uncaught TypeError : $(. ..).tooltip 不是 Laravel 应用程序中的函数(Bootstrap 4 预设)

javascript - 在 react 路由器中使用正则表达式 Route path prop

javascript - 如何在 JavaScript 中实现步进决策流程?

java - 是否有任何通用、简单的java逻辑库可以使代码更具可读性?

javascript - 如何在使用 GraphQl 和 Node.js 时验证用户电子邮件

javascript - 使图标在 anchor 标记内可点击

javascript - 不变违规 : App(. ..) 渲染器未返回任何内容

php - Windows 10 升级后,使用 XAMPP 的 Apache 意外关闭

PHP fatal error : Call to a member function prepare() on a non-object in admin\includes\html\database. class.php 第 45 行