web-dev-qa-db-fra.com

Où définir les variables d'environnement système par défaut dans Alpine linux?

Je sais qu'avec Ubuntu, vous pouvez définir les valeurs par défaut des variables d’environnement dans /etc/environment; Je ne vois pas ce fichier dans Alpine Linux. Existe-t-il un emplacement différent pour la définition des paramètres par défaut pour l'ensemble du système?

14
1ijk

Il semble que /etc/profile soit le meilleur endroit où j'ai pu trouver. Au moins, certaines variables d'environnement sont définies ici:

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

Selon le contenu de /etc/profile, vous pouvez créer un fichier avec l'extension .sh dans /etc/profile.d/ et vous devez passer --login à chaque fois pour charger les variables d'environnement, par exemple docker exec -it container sh --login.

19
Vlad Frolov

Si vous parlez d'une image Alpine Docker, vous pouvez définir ces variables env dans Dockerfile comme ci-dessous. Ici, vous n'avez pas besoin de passer --login à chaque fois. Ces variables seront automatiquement disponibles dans tout le système. 

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

Vous pouvez également définir votre alias, env, etc. dans/etc/profile et définir un ENV dans Dockerfile, comme ci-dessous, pour générer automatiquement le profil. 

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