1
gzlock 2021-02-06 13:13:19 +08:00 via Android
最好还是改为在 docker-compose 中用环境变量传值
|
2
learningman 2021-02-06 13:18:37 +08:00 via Android
我个人的做法是单独一个 js 文件里放这种变量,然后所有地址都用这个 js 里的拼接
|
3
miv 2021-02-06 13:37:53 +08:00 via iPhone
docker compose 部署就不需要更新 ip 了,直接用容器名字就好。比如后端容器是 admin 端口 8080,前端链接后端就是 admin:8080,这样去玩。哦哦,对了,需要设置你的服务在同一个 docker network 上。你要想,都容器化了,还要自己弄 IP,那不麻烦死。交给 docker 网络就 ojbk
|
4
miv 2021-02-06 13:41:09 +08:00 via iPhone
二期你都 docker 部署了还要弄 sh 去修改容器,这不靠谱。应该是打容器之前就把环境弄好。无论是弄变量还是其他方式,都是需要在前期弄好的,容器启动后就尽量少 sh 去改东西。这样才优雅一点,重用也方便
|
5
walpurgis 2021-02-06 14:01:48 +08:00
前端打包完都是静态文件,跑在浏览器隔离环境里,读不到系统变量的,除非启动的时候通过外部脚本把环境变量注入到 html 或 js 里面,所以一般都是多个.env 文件,打包不同环境用不同的.env
另一种思路是既然用 docker 部署前端,意味着你能控制前端的 web 服务器比如 nginx,让前端的请求都发给自己,nginx 再去把请求转发给实际后端地址,而 nginx 能够读环境变量,也就实现了变量注入 |
6
weixiangzhe 2021-02-06 14:03:06 +08:00 via Android
nginx 也可以修改 response 的内容的,可以看一下 sub filter
|