目錄
- 一、簡介
- 二、linux 內置環境變量
- 三、linux 中自定義變量
- 輸出系統變量
- 四、PATH 變量詳解
- 1)添加系統變量
- 2) 環境變量使用 :分開
- 五、linux 常用 shell 工具
- 六、配置文件
- 七、臨時配置
- 八、設置用戶級別
- 九、系統級別
- 十、dockerfile 中設置環境變量
- 十一、dockerfile 中設置 linux 環境變量到配置文件
- 十二、dockerfile 外部的參數 ARG
- 十三、小結
一、簡介
要熟悉 dockerfile 配置 linux 的知識不能少,這里總結 linux 與 dockerfile 中各種環境變量
二、linux 內置環境變量
以下是常見的 Linux 內置環境變量及其訪問方式的表格形式:
環境變量 | 解釋 | 訪問方式 |
---|---|---|
HOME |
當前用戶的主目錄路徑 | $HOME 或 ~ |
USER | 當前登錄用戶的用戶名 | $USER |
PATH |
可執行程序的搜索路徑 | $PATH |
SHELL | 當前用戶所使用的默認 shell | $SHELL |
PWD | 當前工作目錄的路徑 | $PWD |
HOSTNAME | 當前主機的主機名 | $HOSTNAME |
BASH_VERSION | Bash shell 的版本號 | $BASH_VERSION |
三、linux 中自定義變量
NAME="Li lei" AGE=10 echo "My name is $NAME and I am $AGE years old."
輸出系統變量
echo $PATH
四、PATH 變量詳解
PATH
是一個環境變量。它定義了系統在哪些目錄中查找可執行程序。
1)添加系統變量
手動添加
export PATH=/new/path:$PATH
docker 中添加系統變量:
echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc
2) 環境變量使用 :
分開
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
五、linux 常用 shell 工具
- bash
- zsh
- ksh
- csh
六、配置文件
- bash 配置文件
- 其他 shell 配置文件
七、臨時配置
在終端中直接配置:
export VARIABLE_NAME=value
八、設置用戶級別
- ~/.bashrc
- ~/.bash_profile
- ~/.zshrc
- …
等其他相關文件末尾添加環境變量
export VARIABLE_NAME=value
刷新配置
source ~/.bashrc source ~/.zshrc source ~/.bash_profile
九、系統級別
一般是系統管理員的配置,需要權限
- /etc/profile
- /etc/environment
export VARIABLE_NAME=value
刷新配置
source /etc/profile source /etc/environment
十、dockerfile 中設置環境變量
FROM ubuntu:latest ENV VARIABLE_NAME=value ENV APP_HOME /app RUN mkdir $VARIABLE_NAME
ENV 在 Docker 構建時和運行時均有效
十一、dockerfile 中設置 linux 環境變量到配置文件
RUN + echo + '>>'
RUN echo 'export YARN_DIR="/home/me/.yarn' >> ~/.bashrc RUN echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc RUN echo 'export YARN_DIR="/home/me/.yarn' >> ~/.zshrc RUN echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.zshrc
RUN 命令構建時執行
十二、dockerfile 外部的參數 ARG
docker build --build-arg VERSION=1.0 -t myimage .
十三、小結
本文主要介紹 linux 和 dockerfile 配置環境變量的交叉部分。linux 常用環境變量以及添加環境變量,dockerfile 文件中如何配置環境變量。