在 Alpine linux 中在哪里设置系统默认环境变量?
Where to set system default environment variables in Alpine linux?
我知道,使用Ubuntu,您可以在/etc/environment
中设置环境变量的默认值;我在 Alpine linux 中没有看到该文件。是否有不同的位置用于设置系统范围的默认值?
看来/etc/profile
是我能找到的最好的地方了。至少,那里设置了一些环境变量:
export CHARSET=UTF-8
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PAGER=less
export PS1='\h:\w$ '
umask 022
for script in /etc/profile.d/*.sh ; do
if [ -r $script ] ; then
. $script
fi
done
根据/etc/profile
的内容,可以在/etc/profile.d/
中创建一个扩展名为.sh
的文件,每次都要传--login
加载env变量,例如 docker exec -it container sh --login
.
如果您谈论的是 Alpine Docker 图像,那么您可以在 Docker 文件中定义这些环境变量,如下所示。这里不需要每次都传--login
。这些变量将在全球范围内在系统范围内自动可用。
FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
COMPOSER_HOME=/home/deploy/.composer
您还可以在 /etc/profile 中定义别名、env 等,并在 Docker 文件中定义 ENV
,如下所示,以自动获取配置文件。
FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
COMPOSER_HOME=/home/deploy/.composer
ENV ENV="/etc/profile"
我知道,使用Ubuntu,您可以在/etc/environment
中设置环境变量的默认值;我在 Alpine linux 中没有看到该文件。是否有不同的位置用于设置系统范围的默认值?
看来/etc/profile
是我能找到的最好的地方了。至少,那里设置了一些环境变量:
export CHARSET=UTF-8
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PAGER=less
export PS1='\h:\w$ '
umask 022
for script in /etc/profile.d/*.sh ; do
if [ -r $script ] ; then
. $script
fi
done
根据/etc/profile
的内容,可以在/etc/profile.d/
中创建一个扩展名为.sh
的文件,每次都要传--login
加载env变量,例如 docker exec -it container sh --login
.
如果您谈论的是 Alpine Docker 图像,那么您可以在 Docker 文件中定义这些环境变量,如下所示。这里不需要每次都传--login
。这些变量将在全球范围内在系统范围内自动可用。
FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
COMPOSER_HOME=/home/deploy/.composer
您还可以在 /etc/profile 中定义别名、env 等,并在 Docker 文件中定义 ENV
,如下所示,以自动获取配置文件。
FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
COMPOSER_HOME=/home/deploy/.composer
ENV ENV="/etc/profile"