博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker~环境变量到底怎么用
阅读量:7282 次
发布时间:2019-06-30

本文共 1271 字,大约阅读时间需要 4 分钟。

docker已经用了两年多了,从开始的简单应用到现在的自动化部署,已经越来越感觉到它的威力,今天把Hitchhiker部署完成后,看到了它与.net core项目有个类似的地方,就是对于多环境部署的时候都用到了环境变量,Hitchhiker的docker-compose.yml里有对环境地址的设置(当前这个开源项目还有一些BUG,需要挂载一下/utils/index.js,去修改一下自己的端口,这个项目把它在了appconfig.json里了,默认8080,大叔认识不如直接写到环境变量里,根据具体变量去实现端口的监听不是更好吗);在.net core里同样也是通过环境变量的设置来实现各个配置文件的加载的,这点两者是同时的,这也是一个趋势!

docker-compose.yml里的环境变量

services:  hitchhiker:    image: lind/ddd    container_name: lind/ddd:v1.0    environment:      - DB_HOST=lind-mysql      - APP_HOST=http://127.0.0.1      - APP_Port=8080

上面代码里,声明了三个环境变量,用户在部署时,根据具体环境去填写信息,如本地测试用的是127.0.0.1和8080,数据库服务器名是lind-mysql,而在stage和prod环境可能有其它的配置,根据具体的情况去配置它,这就是部署文件yml里的环境变量!

程序中使用环境变量

这些环境变量在部署时设计后,程序的运行时里,会有具体的体现,你设置什么,它就获取什么,在不同的语言里,使用环境变量的方法也是不同的,看下面的例子:

1 sh脚本使用它

echo $DB_HOST

2 .netcore里比较特殊

只配置环境变量名称,然后每个环境变量对应一种配置文件,代码里只访问配置文件即可(根据系统当前的环境变量去访问对应的文件)

environment:      - ASPNETCORE_ENVIRONMENT=Development
public Startup(IConfiguration configuration, IHostingEnvironment env)        {            ConfigFileHelper.Set(env: env);            Configuration = configuration;        }

.netcore里也环境变量简单化了,只需要设置三个默认的,当然也可以自己扩展,三个默认的分别是Development,Staging和Producting.

3 nodejs里使用它

console.log(process.env.APP_HOST)

通过讲,让我们认识到了环境变量的魅力!

多环境部署,有它才够灵活!

转载于:https://www.cnblogs.com/lori/p/7798901.html

你可能感兴趣的文章
IntelliJ IDEA像Eclipse一样打开多个项目(转)
查看>>
<实战>在centos中架设samba服务器,并通过windows平台访问
查看>>
二叉树广度优先搜索,并且实现打印二叉树
查看>>
CacheDependency、SqlCacheDependency Asp.net 2.0和Sql的缓存管理和使用
查看>>
Java中的Get和Post请求,使用万网接口判断域名是否已被注册
查看>>
【OpenCV学习】形态学梯度
查看>>
最佳黑色背景的Visual Studio 2005/2008配置-尤其适合开发人员使用
查看>>
arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤
查看>>
IBatis.Net学习笔记二--下载、编译、运行NPetShop
查看>>
两天完成一个小型工程报价系统(三层架构)
查看>>
单数据库,多数据库,单实例,多实例不同情况下的数据访问效率测试
查看>>
轻量级移动端日期选择器
查看>>
Advapi32.dll 函数接口说明
查看>>
POJ 1236 Network of Schools(强连通分量)
查看>>
异常处理汇总-后端系列
查看>>
SIM,PIN,PUK,IMEI,ICCID,Ki,IMSI,SMSP概念
查看>>
session,application,cookie,viewstate,Querystring等的作用域
查看>>
【LoadRunner】OSGI性能测试实例
查看>>
Windows phone 应用开发系列教程(更新中)
查看>>
Elasticsearch之sense插件安装之后的浏览详解
查看>>