集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Java >

成都java培训怎么样?Docker如何向容器传递环境变量?

发布者: 成都达内     浏览次数:     发布时间:2020-08-05 11:22:43

了解Docker容器的运行环境非常重要,我们把应用放在容器里执行,环境变量会直接影响程序的执行效果。所以我们要知道容器内部的环境变量,也要知道如何改变这些环境变量。...

  1 前言

  了解Docker容器的运行环境非常重要,我们把应用放在容器里执行,环境变量会直接影响程序的执行效果。所以我们要知道容器内部的环境变量,也要知道如何改变这些环境变量。

  2 查看环境变量

  2.1 方式一:docker inspect

  通过docker inspect命令不仅能查看环境变量,还能查看容器其它相关信息,非常丰富,以Json格式输出。

  $ docker inspect centos

  截取片段来看看:

  成都java培训怎么样?Docker如何向容器传递环境变量?

  可读性还可以,但也不算很高,可以通过grep命令过滤一下:

  $ docker inspect centos | grep SERVER

  "SERVER_PORT=80",

  或者可以解析一下Json文本:

  $ docker inspect -f '{{range $index, $value := .Config.Env}}{{println $value}}{{end}}' centos

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  2.2 方式二:doecker exec env

  这种方式获取的环境变量就跟我们平时获取linux环境变量是一样的了。只是在容器跑了个env命令而已。如下:

  $ docker exec centos env

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  HOSTNAME=f8b489603f31

  HOME=/root

  3 设置环境变量

  3.1 方式一:打包设置dockerfile

  在通过Dockerfile打包镜像的时候可以配置环境变量:

  ENV SERVER_PORT 80

  ENV APP_NAME pkslow

  3.2 方式二:启动设置docker run --env

  使用--env和-e是一样效果的,示例如下:

  $ docker run -itd --name=centos -e SERVER_PORT=80 --env APP_NAME=pkslow centos:7

  b3d42726ca6cdddd7ae09d70e720d6db94ff030617c7ba5f58374ec43f8e8d68

  $ docker exec centos env

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  HOSTNAME=b3d42726ca6c

  SERVER_PORT=80

  APP_NAME=pkslow

  HOME=/root

  可以使用宿主环境变量,不用再给出值,如下传递宿主的HISTSIZE:

  $ docker run -itd --name=centos -e SERVER_PORT=80 --env APP_NAME=pkslow -e HISTSIZE centos:7

  f8b489603f31779cdae88c77fb446aac80d61f41922a79128d6d26ee6b70a091

  $ docker exec centos env

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  HOSTNAME=f8b489603f31

  SERVER_PORT=80

  APP_NAME=pkslow

  HISTSIZE=1000000

  HOME=/root

  3.3 方式三:启动时加载文件docker run --env-file

  先把配置信息放在文件env.list里:

  $ cat env.list

  VAR1=www

  VAR2=pkslow.com

  VAR3=www.pkslow.com

  启动容器时传入文件:

  $ docker run -itd --name=centos --env-file env.list centos:7

  1ef776e2ca2e4d3f8cdb816d3a059206fc9381db58d7290ef69301472f9b4186

  $ docker exec centos env

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  HOSTNAME=1ef776e2ca2e

  VAR1=www

  VAR2=pkslow.com

  VAR3=www.pkslow.com

  HOME=/root

  如果想把宿主上的所有环境变量都传入到容器里,可以这样操作:

  $ env > env.list

  $ docker run -itd --name=centos --env-file env.list centos:7

  4 总结

  本文介绍了多种查看和设置Docker容器环境的方法,可以根据自己的需求使用。

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56