在Alpine linux中设置系统默认环境变量的位置?

时间:2016-02-10 21:03:48

标签: configuration environment-variables default alpine

我知道,使用Ubuntu,您可以在/etc/environment中为环境变量设置默认值;我没有在Alpine linux中看到该文件。是否有不同的位置来设置系统范围的默认值?

2 个答案:

答案 0 :(得分:21)

似乎/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的内容,您可以在.sh中创建一个/etc/profile.d/扩展名的文件,并且每次都必须传递--login来加载env变量,例如docker exec -it container sh --login

答案 1 :(得分:0)

如果您正在谈论Alpine Docker映像,则可以在Dockerfile中定义这些env变量,如下所示。在这里,您不必每次都通过--login。这些变量将在整个系统范围内自动可用。

FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
    COMPOSER_HOME=/home/deploy/.composer

您还可以在/ etc / profile中定义您的别名,env等,并在Dockerfile中定义一个ENV,如下所示,以自动获取配置文件。

FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
    COMPOSER_HOME=/home/deploy/.composer
ENV ENV="/etc/profile"