标签:传递 get 百度 info 文件 配置 ima lazy 打包
最近初初接触docker,发现有一点在使用时很不方便,就是配置文件的修改。
例如nginx的镜像,nginx.conf文件中的listen端口、servername等,
解决方案1:通过挂载外部nginx.conf替换容器内文件,可以解决问题。但总觉得把整个配置文件暴露在外不方便,且让运维人员去一个复杂文件中找修改值会增加工作难度
解决方案2:重新打包nginx镜像,增加shell脚本,通过sed命令替换指定变量;启动镜像时通过变量名传递要修改的配置。
但shell脚本编写sed替换总是遇到各种麻烦时,且菜鸟写的dockerfile文件缺失也很菜,无端引入很多坑。
同时,通过变量传递的值有时会莫名其妙替换掉一些关键配置。
后来仔细研究发现docker自身会留出一些变量设置,方便用户通过变量向配置文件中传递值。这就方便快捷的解决了配置文件关键参数修改的问题,同时也解释了为什么一些核心参数值莫名被修改问题,因为你的变量名正好使用了docker预留的变量名。
-----------------------------------关键内容来了------------------------------------------
如何了解docker镜像提供了哪些环境变量可以使用,看官方,看官方,看官方,重要的事说三遍,不要百度盲目搜搜搜
https://hub.docker.com/_/nginx
来个实例:
标签:传递 get 百度 info 文件 配置 ima lazy 打包
原文地址:https://www.cnblogs.com/sylvia-liu/p/14661288.html