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
の内容に応じて、.sh
に/etc/profile.d/
拡張子を持つファイルを作成できます。また、--login
などのenv変数をロードするたびにdocker exec -it container sh --login
を渡す必要があります] _。
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"