自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何查看Docker容器環(huán)境變量,如何向容器傳遞環(huán)境變量

開(kāi)發(fā) 前端
了解Docker容器的運(yùn)行環(huán)境非常重要,我們把應(yīng)用放在容器里執(zhí)行,環(huán)境變量會(huì)直接影響程序的執(zhí)行效果。所以我們要知道容器內(nèi)部的環(huán)境變量,也要知道如何改變這些環(huán)境變量。

 1 前言

了解Docker容器的運(yùn)行環(huán)境非常重要,我們把應(yīng)用放在容器里執(zhí)行,環(huán)境變量會(huì)直接影響程序的執(zhí)行效果。所以我們要知道容器內(nèi)部的環(huán)境變量,也要知道如何改變這些環(huán)境變量。

[[336335]]

2 查看環(huán)境變量

2.1 方式一:docker inspect

通過(guò)docker inspect命令不僅能查看環(huán)境變量,還能查看容器其它相關(guān)信息,非常豐富,以Json格式輸出。

 

  1. $ docker inspect centos 

截取片段來(lái)看看:

 

如何查看Docker容器環(huán)境變量,如何向容器傳遞環(huán)境變量

 

可讀性還可以,但也不算很高,可以通過(guò)grep命令過(guò)濾一下:

 

  1. $ docker inspect centos | grep SERVER 
  2.                 "SERVER_PORT=80"

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

  1. $ docker inspect -f '{{range $index, $value := .Config.Env}}{{println $value}}{{end}}' centos 
  2. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

2.2 方式二:doecker exec env

這種方式獲取的環(huán)境變量就跟我們平時(shí)獲取linux環(huán)境變量是一樣的了。只是在容器跑了個(gè)env命令而已。如下:

 

  1. $ docker exec centos env 
  2. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
  3. HOSTNAME=f8b489603f31 
  4. HOME=/root 

3 設(shè)置環(huán)境變量

3.1 方式一:打包設(shè)置dockerfile

在通過(guò)Dockerfile打包鏡像的時(shí)候可以配置環(huán)境變量:

 

  1. ENV SERVER_PORT 80 
  2. ENV APP_NAME pkslow 

3.2 方式二:?jiǎn)?dòng)設(shè)置docker run --env

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

 

  1. $ docker run -itd --name=centos -e SERVER_PORT=80 --env APP_NAME=pkslow centos:7 
  2. b3d42726ca6cdddd7ae09d70e720d6db94ff030617c7ba5f58374ec43f8e8d68 
  3.  
  4. $ docker exec centos env 
  5. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
  6. HOSTNAME=b3d42726ca6c 
  7. SERVER_PORT=80 
  8. APP_NAME=pkslow 
  9. HOME=/root 

可以使用宿主環(huán)境變量,不用再給出值,如下傳遞宿主的HISTSIZE:

 

  1. $ docker run -itd --name=centos -e SERVER_PORT=80 --env APP_NAME=pkslow -e HISTSIZE centos:7 
  2. f8b489603f31779cdae88c77fb446aac80d61f41922a79128d6d26ee6b70a091 
  3.  
  4. $ docker exec centos env 
  5. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
  6. HOSTNAME=f8b489603f31 
  7. SERVER_PORT=80 
  8. APP_NAME=pkslow 
  9. HISTSIZE=1000000 
  10. HOME=/root 

3.3 方式三:?jiǎn)?dòng)時(shí)加載文件docker run --env-file

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

 

  1. $ cat env.list  
  2. VAR1=www 
  3. VAR2=pkslow.com 
  4. VAR3=www.pkslow.com 

啟動(dòng)容器時(shí)傳入文件:

 

  1. $ docker run -itd --name=centos --env-file env.list centos:7 
  2. 1ef776e2ca2e4d3f8cdb816d3a059206fc9381db58d7290ef69301472f9b4186 
  3.  
  4. $ docker exec centos env 
  5. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
  6. HOSTNAME=1ef776e2ca2e 
  7. VAR1=www 
  8. VAR2=pkslow.com 
  9. VAR3=www.pkslow.com 
  10. HOME=/root 

如果想把宿主上的所有環(huán)境變量都傳入到容器里,可以這樣操作:

 

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

4 總結(jié)

本文介紹了多種查看和設(shè)置Docker容器環(huán)境的方法,可以根據(jù)自己的需求使用。

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2022-04-27 08:19:53

Docker容器Linux

2023-12-12 13:22:00

LinuxDocker容器

2022-10-14 13:33:35

2019-05-30 10:20:10

Linux環(huán)境變量命令

2021-03-04 23:11:59

環(huán)境變量Python

2010-10-11 09:41:23

MySQL環(huán)境變量

2012-09-18 01:22:33

Java環(huán)境變量Classpath

2023-11-01 13:40:25

GolangGo

2021-02-15 15:52:27

Linux環(huán)境變量命令

2020-08-17 07:38:47

Linux系統(tǒng)

2010-06-07 11:33:11

Linux查看環(huán)境變量

2017-03-07 19:30:54

Windows 7Windowsjava

2009-07-07 12:48:29

JDK環(huán)境變量設(shè)置

2009-07-03 16:46:07

JSP環(huán)境變量

2010-10-11 09:25:31

MySQL環(huán)境變量

2010-04-21 16:58:51

Unix環(huán)境變量

2009-06-15 16:28:30

JAVA環(huán)境變量

2009-07-07 13:44:35

JDK環(huán)境變量設(shè)置

2009-10-21 12:58:18

2011-05-31 13:41:50

Android 環(huán)境變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)