Alpine не загружает / etc / profile

Последний образ докера alpine не загружает / etc / profile при запуске. См. Пример, когда он запускается без загруженного / etc / profile и когда я его загружаю.

[13:12]~$docker run --rm -it alpine
/ # . /etc/profile
ed2318ad9ac7:/#

Как я могу заставить его автоматически загружать / etc / profile при запуске?


person Vladimir    schedule 19.02.2018    source источник
comment
source не поддерживается командой /bin/sh. Альтернативой, совместимой с POSIX, является команда точка, как в . /etc/profile.   -  person Charles Duffy    schedule 19.02.2018
comment
@ldg, тот факт, что используется /bin/sh, а не bash, прямо здесь в вопросе OP, в ошибке, указывающей, что это /bin/sh -c '...' не работает. (Я предполагаю, что они установили bash, поэтому docker run дает им оболочку, в которой доступен source).   -  person Charles Duffy    schedule 19.02.2018
comment
@Vladimir, ... кстати, даже игнорируя разницу sh-vs-bash, RUN "source /etc/profile" не имеет смысла, потому что каждая команда RUN вызывается с отдельной оболочкой, и получение чего-либо в одной оболочке не изменит, как впоследствии -вызванные оболочки ведут себя (если только то, что вы делаете, не устанавливает состояние оболочки, а фактически изменяет постоянное содержимое на диске, и в этом случае нет никакого смысла использовать source или .).   -  person Charles Duffy    schedule 19.02.2018
comment
Так что это не дубликат этой проблемы по другой причине. @Vladimir - вам следует проверить, как Docker build обрабатывает переменные среды.   -  person ldg    schedule 19.02.2018
comment
Я отредактировал вопрос, чтобы было больше смысла. Сейчас загружаю с помощью. / etc / profile.   -  person Vladimir    schedule 20.02.2018
comment
Добавлен ENV ENV = / etc / profile   -  person Vladimir    schedule 21.02.2018