Я знаю, что с Ubuntu вы можете установить значения по умолчанию для переменных среды в /etc/environment
; Я не вижу этот файл в Alpine linux. Есть ли другое место для установки общесистемных значений по умолчанию?
Где установить переменные среды среды по умолчанию в Alpine linux?
Ответ 1
Кажется, что /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
.
Ответ 2
Если вы говорите об образе Alpine Docker, то вы можете определить эти переменные env внутри Dockerfile, как показано ниже. Здесь вам не нужно проходить --login
каждый раз. Эти переменные будут автоматически доступны во всей системе.
FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
COMPOSER_HOME=/home/deploy/.composer
Также вы можете определить свой псевдоним, env и т.д. Внутри /etc/profile и определить ENV
внутри Dockerfile, как показано ниже, для автоматического создания профиля.
FROM alpine
ENV GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX \
COMPOSER_HOME=/home/deploy/.composer
ENV ENV="/etc/profile"