Docker 容器配置的环境变量重启时失效问题解决
配置环境
在/etc/profile 配置环境变量
JAVA_HOME=/opt/java/jdk-15.0.2
export PATH=$JAVA_HOME/bin:$PATH
然后在/etc/bashrc 中增加环境刷新命令
source /etc/profile
可以保证重启时环境变量依旧有效
解决思路
容器加载时会先从/root/.bashrc 中加载环境变量,而/root/.bashrc 实际调用的是/etc/bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# 直接在这里新增上面提到的刷新代码
source /etc/profile
因此在/etc/bashrc 文件中加入刷新命令,可以使容器每次加载时都会自动刷新环境变量,因此解决重启环境变量失效的问题。并且不会因非root用户登录造成不可用