it-swarm.com.de

Wo können Sie die Standardumgebungsvariablen des Systems in Alpine Linux festlegen?

Ich weiß, mit Ubuntu können Sie Standardwerte für Umgebungsvariablen in /etc/environment festlegen. Ich sehe diese Datei nicht in Alpine Linux. Gibt es einen anderen Ort, um systemweite Standardeinstellungen festzulegen?

14
1ijk

Es scheint, dass /etc/profile der beste Ort ist, den ich finden konnte. Zumindest werden dort einige Umgebungsvariablen gesetzt:

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

Entsprechend dem Inhalt von /etc/profile können Sie eine Datei mit der Erweiterung .sh in /etc/profile.d/ erstellen. Sie müssen jedes Mal --login übergeben, um die Umgebungsvariablen zu laden, z. B. docker exec -it container sh --login.

19
Vlad Frolov

Wenn Sie über das Alpine Docker-Bild sprechen, können Sie diese Umgebungsvariablen in Dockerfile wie folgt definieren. Hier müssen Sie nicht jedes Mal --login übergeben. Diese Variablen sind systemweit global automatisch verfügbar. 

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

Sie können auch Ihren Alias, env etc in/etc/profile definieren und eine ENV in Dockerfile definieren, um das Profil automatisch zu generieren. 

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