张店专业网站优化哪家好,免费虚拟主机空间,wordpress主题调用js路径,华为商城网站设计需求#xff1a;部署前端镜像时需要动态修改nginx反向代理的后端服务的ip地址 原.conf配置调整#xff0c;改为嵌入变量的文件模版Dockerfile 修改#xff0c;通过envsubst将换将变量注入模版后再运行nginxdocker-compose配置#xff0c;通过environment动态修改变量 defau… 需求部署前端镜像时需要动态修改nginx反向代理的后端服务的ip地址 原.conf配置调整改为嵌入变量的文件模版Dockerfile 修改通过envsubst将换将变量注入模版后再运行nginxdocker-compose配置通过environment动态修改变量 default.conf.tmplate原default.conf
动态变量${MY_IP}
server {listen 80;server_name localhost;location / {root /usr/share/nginx/html;try_files $uri /index.html;}location /api{proxy_pass http://${MY_IP}:18892;}}Dockerfile
如果有多个变量可用逗号隔开envsubst $MY_IP,$MY_PORT
FROM nginx:1.20.2-alpineCOPY dist /usr/share/nginx/htmlCOPY nginx.conf /etc/nginx/nginx.conf
# 拷贝模板
COPY default.conf.tmplate /etc/nginx/conf.d
# 切换目录
WORKDIR /etc/nginx/conf.d
# 将环境变量注入模版
ENTRYPOINT envsubst $MY_IP default.conf.tmplate default.conf cat default.conf nginx -g daemon off;EXPOSE 80docker-compose.yml
注意environment下的变量名称MY_IP要与上述对应
environment:- MY_IPserver2yml完整配置示例 通过同一套镜像部署两个web项目,后端对应不同的数据库前端对应不同的后端
version: 2
networks:myapp:driver: bridge
services:server1:image: [ip]:5000/servercontainer_name: server1restart: alwaysenvironment:- spring.datasource.urljdbc:mysql://[ip]:3306/dbs1?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneCTT- JAVA_OPTS-Dlog4j2.formatMsgNoLookupstruenetworks:- myappfront1:image: [ip]:5000/frontcontainer_name: front1restart: alwaysenvironment:- MY_IPserver1depends_on:- server1links:- server1ports:- 8095:80networks:- myappserver2:image: [ip]:5000/servercontainer_name: server2restart: alwaysenvironment:- spring.datasource.urljdbc:mysql://[ip]:3306/dbs2?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneCTT- JAVA_OPTS-Dlog4j2.formatMsgNoLookupstruenetworks:- myappfront2:image: 10.1.58.6:5000/frontcontainer_name: front2restart: alwaysenvironment:- MY_IPserver2depends_on:- server2links:- server2ports:- 8096:80networks:- myapp