我有一个项目,它是一个全栈Web应用程序,由前端(vite ecs容器)和后端(java spring boot ecs容器)组成。 ALB 将指向前端和后端。我的 terraform 文件将 ALB URL 作为环境变量提供给前端的任务定义,以便它可以建立此连接。我的容器存储在 AWS ECR 中。我希望这是一个简单的过程,这样我就可以简单地在我的机器上构建容器并运行 terraform。
我的主要问题是 vite 在构建时使用环境变量,而不是运行时。因此,当我运行 npm build 时,它将本地计算机上的环境变量注入到新创建的映像中(不正确!)。我希望它使用输入到任务定义中的环境变量!否则我必须运行部署脚本,使用手动更新的 URL 构建新映像,然后再次运行部署脚本
我可以让我的镜像构建在 docker 镜像上吗?或者有没有更好的方法来拉下这个网址?
我查看了这个包,但无法让它工作,似乎不适合这个目的:https://github.com/andrewmclagan/react-env
我还考虑过是否可以将其上传到 nginx.conf 上,但这似乎是一件很难弄清楚的事情。
对于 docker-in-docker 也类似。
从字里行间看出,这实际上是一个 nginx 容器,为 React 应用程序提供服务?如果这是由与后端相同的负载均衡器提供的服务,您是否可以让您的 React 代码简单地检查当前主机名是什么(window.location.hostname),并使用它来构建后端 API URL? – 马克·B 14 小时前评论过