基于docker的nginx,有时我们希望nginx的配置文件(conf)直接读取环境变量,这样可以在docker之外,通过环境变量,控制运行在docker之中的nginx服务。

e.g.
default.conf.template 是带有环境变量的nginx配置文件,希望docker运行后,能够根据环境变量的值运行。
# docker-compose.yml version: "2.3" services: test-server: container_name: test
-server image: test-server:latest ports: - "443:443" # 环境变量,保存在.env 文件中 env_file
: - ./.env # NGINX_ENVSUBST_TEMPLATE_SUFFIX, 必须要的, #
把/opt/test-server/etc下所有扩展名是.template的文件,通过环境变量替换 # 另存为去掉.template扩展名的文件。
(default.conf.template => default.conf) # 另存后,保存在相同目录下 environment:
NGINX_ENVSUBST_TEMPLATE_SUFFIX: ".template" volumes: - /opt/test-server/etc:
/etc/nginx/templates/- /opt/test-server/etc:/etc/nginx/conf.d - /opt/test-
server/logs:/var/log/nginx
这样,每次启动(docker-compose up -d),都会先根据default.conf.template,
替换环境变量后,生成default.conf, 然后再启动docker。

技术
©2019-2020 Toolsou All rights reserved,
css中上下左右居中的几种实现方法[CISCN 2019 初赛]Love Mathc/c++语言实现登陆界面Unity3D 人称设置(第一人称视角、第三人称视角)Fastadmin框架自定义搜索操作流程2021最新Python自动化软件测试笔试题(含答案)黑客帝国装逼的代码雨mysql数据库设置字符集配置修改my.ini文件(windows)python之panda模块1Python学习笔记:基础+进阶10道练习题