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?
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
.
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"