如何檢視Docker容器環境變數,如何向容器傳遞環境變數
1寫在前面
瞭解Docker容器的執行環境非常重要,我們把應用放在容器裡執行,環境變數會直接影響程式的執行效果。所以我們要知道容器內部的環境變數,也要知道如何改變這些環境變數。
2 檢視環境變數
2.1 方式一:docker inspect
透過docker inspect命令不僅能檢視環境變數,還能檢視容器其它相關資訊,非常豐富,以Json格式輸出。
$ docker inspect centos
擷取片段來看看:
可讀性還可以,但也不算很高,可以透過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=
啟動容器時傳入檔案:
$ 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=
HOME=
/root
如果想把宿主上的所有環境變數都傳入到容器裡,可以這樣操作:
$ env > env.
list
$ docker run -itd --name=centos --env-file env.
list centos:
7
4 總結
多種檢視和設定Docker容器環境的方法,可以根據自己的需求使用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2709906/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何將環境變數傳遞給 Docker 容器?變數Docker
- docker 修改執行容器環境變數,如何修改容器中的環境變數env使長期有效Docker變數
- 在Linux中,什麼是環境變數?如何設定和檢視環境變數?Linux變數
- 禁止 SSH 傳遞 locale 環境變數變數
- 4.2.10.3 檢視環境變數變數
- [Linux] 檢視環境變數Linux變數
- Mac 設定環境變數的位置、檢視和新增PATH環境變數Mac變數
- kubernetes容器編排之定義環境變數以及通過downwardapi把pod資訊作為環境變數傳入容器內變數API
- 向檢視傳遞變數變數
- 什麼是環境變數?Python中如何設定環境變數?變數Python
- win10 如何讓環境變數生效_windows10如何設定環境變數Win10變數Windows
- Linux中修改環境變數及生效方法(永久、臨時)環境變數檢視Linux變數
- 環境變數變數
- 在Linux下檢視環境變數Linux變數
- mac如何配置python環境變數MacPython變數
- win10如何配置環境變數?Win10變數
- JDK 1.6環境變數如何設定?JDK變數
- Linux 新增環境變數和刪除環境變數Linux變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- 配置jdk環境變數win10教程_win10jdk環境變數如何配置JDK變數Win10
- Java 環境變數Java變數
- jdk環境變數JDK變數
- DOS環境變數變數
- env 環境變數變數
- 環境變數path變數
- Java環境變數Java變數
- ORACLE 環境變數Oracle變數
- postman環境變數Postman變數
- 配置環境變數變數
- D14 kubernetes 容器服務質量和容器環境變數變數
- 如何設定與檢視Linux系統中的環境變數?Linux變數
- Hyperledger Fabric 通道配置檔案和容器環境變數詳解變數
- 如何管理你的 Linux 環境變數Linux變數
- Java新手_如何配置jdk的環境變數JavaJDK變數
- 在Linux下檢視和修改環境變數Linux變數
- Linux 環境變數的設定、檢視方法Linux變數
- ubuntu JDK 環境變數UbuntuJDK變數
- 配置JDK環境變數JDK變數