Javascript 如何构建react应用程序的docker映像?

Javascript 如何构建react应用程序的docker映像?,javascript,reactjs,docker,redux,dockerfile,Javascript,Reactjs,Docker,Redux,Dockerfile,我正在用React和Redux开发一个应用程序。我想把这个应用程序部署到AWS上,有人能给我建议一种构建docker映像的方法吗?我还需要为build或整个src文件夹生成图像?为什么我需要Nginx 以下是如何在AWS上构建和部署docker映像 建造码头工人 选择合适的docker图像, 您的模块仍然是npm模块,您可以选择Nodedocker image 构建react应用程序,npm运行Build,它将生成Build目录,其中包含已优化的代码,可供部署 您可以使用任何web服务器来提供

我正在用React和Redux开发一个应用程序。我想把这个应用程序部署到AWS上,有人能给我建议一种构建docker映像的方法吗?我还需要为build或整个src文件夹生成图像?为什么我需要Nginx

以下是如何在AWS上构建和部署docker映像

建造码头工人
  • 选择合适的docker图像, 您的模块仍然是npm模块,您可以选择
    Node
    docker image
  • 构建react应用程序,
    npm运行Build
    ,它将生成
    Build
    目录,其中包含已优化的代码,可供部署
  • 您可以使用任何web服务器来提供构建目录的静态内容
推送图像
  • 将图像推送到AWS ECR(docker注册表)
部署
  • 您可以在自己的EC2中运行AWS ECS上的docker
  • 如果不想使用自己的EC2,可以在Fargate的AWS ECS上运行docker

关于nginx,我宁愿设置一个应用程序负载平衡器。这样,我也可以轻松设置ssl

您有什么理由需要在docker上部署而不是将其部署为静态网站吗?查看此博客@ArunK my app是一种渐进式web应用程序。我还收到建议,docker将是CI/CD的最佳选择,并且您需要一个包含所有所需软件包的docker映像。您可以使用像Jenkins这样的构建工具来创建dist文件夹的快照tar(npm build命令的输出),并将其添加到映像中。现在,您可以使用此图像创建容器。Nginx是一个web服务器,默认情况下应该安装在基本映像中。我支持@ArunK。您可能应该考虑从CDN将其部署为静态网站。它最终可能会更便宜,而且与CI/CD配合使用也会很好。如果你想发现Docker+Nginx,那是另一回事了。