gpt4 book ai didi

angular - 将 docker-compose 中的环境变量注入(inject) Angular4 应用程序

转载 作者:太空狗 更新时间:2023-10-29 17:49:52 26 4
gpt4 key购买 nike

我构建了一个简单的 Angular4 应用程序,它从 REST-API 获取数据。

我使用 docker-compose 部署应用程序,但在我需要在我的服务模块中手动将 URL/主机名设置为 API 之前。在开发过程中,我只使用了“localhost”,它就完成了工作。

在 API 中,我可以通过 docker-compose(environment 部分)注入(inject)正确的主机名,因为它在服务器上运行,但这对于 angular 是不可能的。

是否有将主​​机名/URL 从 docker-compose 注入(inject)到 angular-cli 应用程序的最佳实践/指南?

最佳答案

实现此目的的一种方法是将所有配置提取到一个单独的 Angular 服务中,该服务负责提供服务配置。在这个新服务中,将这些值硬编码为 env 占位符。例如:

apiUrl = $API_URL

现在更改 DockerFile 中的 CMD 以运行脚本 startup.sh .

创建此脚本并使用 ADD startup.sh startup.sh 将其添加到 Docker 镜像中.

在 startup.sh 中你可以调用 envsubst < "path-to-service-file" > "path-to-service-file"用环境变量值替换占位符。在 envsubst 命令启动你的 Angular 应用程序之后

关于angular - 将 docker-compose 中的环境变量注入(inject) Angular4 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45708361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com