不重新打包修改nginx-web镜像写死的API地址
由于各种原因前端的API地址被写死了,而临时需要修改地址,打包发布麻烦,不知道哪个版本的代码对应这个版本,可以这样做。
nginx.conf中写死的服务发现
- 方法一,使用主机别名,类似hosts功能
- 方法二,使用下面的字符串替换
页面中写死的API地址
- 编写一段API替换脚本和nginx启动脚本
#!/bin/bash
# 根据基础镜像的不同,可能是/bin/bashsh,而且这句要是第一句
# 如果环境变量存在则用环境变了,如果环境变量不存在,则使用默认值,注意前面的减号语法(-)
OLD_URL=${OLD_URL:-"https://park.wvpark.com:802/"}
NEW_URL=${NEW_URL:-"http://weipin.hmncloud.top/"}
# 文件名称很确定,直接替换
sed -i "s|${OLD_URL}|${NEW_URL}|g" /usr/share/nginx/html/assets/iframe-view-4c8b16ca.js
# 文件名称不确定,查找替换
# SEARCH_DIR="/usr/share/nginx/html/assets"
# FILE_PREFIX="iframe-view*.js"
# for FILE in $(find "$SEARCH_DIR" -type f -name "${FILE_PREFIX}"); do
# # 使用 sed 进行替换操作,-i 选项表示直接编辑文件
# sed -i "s|${OLD_URL}|${NEW_URL}|g" "$FILE"
# # 打印已处理的文件名
# echo "Processed file: $FILE"
# done
# 启动nginx
nginx -g 'daemon off;'
- 将配置文件放入configmap并挂载或则直接挂载进容器,并设置挂载文件为777权限
docker和docker-compose挂载为777 请自行百度
- 将容器的启动命令设置为自己的启动脚本