在Apache或AWS上使用Docker部署React构建

时间:2018-09-13 11:37:21

标签: javascript reactjs apache amazon-web-services docker

我是docker的新手,会做出反应。我想知道如何在AWS上部署生产版本。 我已经尝试过的步骤如下:

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

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

1 个答案:

答案 0 :(得分:2)

您已经关闭。您只需要在Docker容器中安装一个Apache Web服务器。

但是您不需要自己做。您可以使用FROM httpd:latest来启动dockerfile,以official apache container为基础。

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

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

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

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