web-dev-qa-db-ja.com

Alpine Linuxでシステムのデフォルト環境変数を設定する場所は?

Ubuntuでは、/etc/environmentで環境変数のデフォルト値を設定できることを知っています。 Alpine Linuxにはそのファイルがありません。システム全体のデフォルトを設定する別の場所はありますか?

20
1ijk

/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を渡す必要があります] _。

25
Vlad Frolov

Alpine Dockerイメージについて話している場合、以下のようにDockerfile内でこれらのenv変数を定義できます。ここでは、毎回--loginを渡す必要はありません。これらの変数は、システム全体で自動的に利用可能になります。

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

また、エイリアス、envなどを/ etc/profile内で定義し、次のようにDockerfile内でENVを定義して、プロファイルを自動的に取得することもできます。

FROM Alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
    COMPOSER_HOME=/home/deploy/.composer
ENV ENV="/etc/profile" 
2
SkyRar