Javascript 在apache或aws上使用docker部署react构建

Javascript 在apache或aws上使用docker部署react构建,javascript,reactjs,apache,amazon-web-services,docker,Javascript,Reactjs,Apache,Amazon Web Services,Docker,我是docker的新手,我会做出反应。我想知道如何在AWS上部署生产构建。 我已经尝试过的步骤如下: 创建dockerfile 在服务器上构建并运行它 npm-run和npm-run-build正在容器内工作 通过卷公开生成文件夹 现在我的问题是:如何使用Apache HTTP Server在AWS上部署它并在端口80上公开服务?您已经接近了。您只需要将Apache Web服务器安装到docker容器中 但是你不需要自己去做。您只需使用httpd:latest中的启动dockerfile,即可将

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

  • 创建dockerfile
  • 在服务器上构建并运行它
  • npm-run
    npm-run-build
    正在容器内工作
  • 通过卷公开生成文件夹

  • 现在我的问题是:如何使用Apache HTTP Server在AWS上部署它并在端口80上公开服务?您已经接近了。您只需要将Apache Web服务器安装到docker容器中

    但是你不需要自己去做。您只需使用httpd:latest中的
    启动dockerfile,即可将作为基础

    我的建议是使用两个docker容器和一个共享卷。第一个容器从源代码构建应用程序,并在工作完成后退出。第二个容器承载apache,其构建目录装载到其htdocs目录中。这样,您就可以在不进行修改的情况下使用,并且您已经创建了构建容器

    第三种选择是使用node而不是apache作为宿主,然后有可用的作为基础的,以及关于如何使用它的说明手册

    另外,你可能会对shakyShane的书感兴趣,他在书中描述了如何使用一个dockerfile解决这个问题


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

    您已经关闭了。您只需要将Apache Web服务器安装到docker容器中

    但是你不需要自己去做。您只需使用httpd:latest中的
    启动dockerfile,即可将作为基础

    我的建议是使用两个docker容器和一个共享卷。第一个容器从源代码构建应用程序,并在工作完成后退出。第二个容器承载apache,其构建目录装载到其htdocs目录中。这样,您就可以在不进行修改的情况下使用,并且您已经创建了构建容器

    第三种选择是使用node而不是apache作为宿主,然后有可用的作为基础的,以及关于如何使用它的说明手册

    另外,你可能会对shakyShane的书感兴趣,他在书中描述了如何使用一个dockerfile解决这个问题


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

    非常感谢Marco。这真的很有帮助。我只需要再确认一次。从httpd:latest can how can run build folder在默认端口(80)之后,您需要将
    build
    目录的内容获取到Apache查找要提供服务的文件的默认目录。目录是:
    /usr/local/apache2/htdocs
    。您可以通过在docker文件中添加
    COPY/path/to/build/usr/local/apache2/htdocs
    或使用卷映射来完成此操作。您的意思是将我的构建副本放到容器外部,我可以将其放在服务器根文件夹中。对吗?不,您需要apaches
    htdocs
    文件夹中容器内的
    build
    目录的内容。您可以使用docker文件中的
    copy
    从容器外部复制到容器内部。或者您可以将外部目录映射到容器内的
    htdocs
    direcoty。你可以阅读更多关于docker的书籍,非常感谢Marco。这真的很有帮助。我只需要再确认一次。从httpd:latest can how can run build folder在默认端口(80)之后,您需要将
    build
    目录的内容获取到Apache查找要提供服务的文件的默认目录。目录是:
    /usr/local/apache2/htdocs
    。您可以通过在docker文件中添加
    COPY/path/to/build/usr/local/apache2/htdocs
    或使用卷映射来完成此操作。您的意思是将我的构建副本放到容器外部,我可以将其放在服务器根文件夹中。对吗?不,您需要apaches
    htdocs
    文件夹中容器内的
    build
    目录的内容。您可以使用docker文件中的
    copy
    从容器外部复制到容器内部。或者您可以将外部目录映射到容器内的
    htdocs
    direcoty。您可以阅读有关docker卷的更多信息