Это работает (установите PERL5LIB
для пользователя root
):
test:
image: httpd
environment:
- PERL5LIB=/somedir
command:
- bash
- -c
- |
perl -le 'print for @INC'
Это тоже (установите PERL5LIB
для пользователя daemon
):
test:
image: httpd
user: daemon
environment:
- PERL5LIB=/somedir
command:
- bash
- -c
- |
perl -le 'print for @INC'
(запуск command:
от пользователя daemon
)
Но проблема возникает, когда я запускаю процесс переднего плана в контейнере Docker от пользователя root
, но запускаю процесс от пользователя без полномочий root. Например. httpd
не запускается из-под root, по умолчанию для пользователя httpd-foreground
установлено значение daemon
.
Я попытался установить PERL5LIB
глобально, используя /etc/profile
и /etc/environment
, но ни один из вариантов не сработал:
services:
test:
image: httpd
command:
- bash
- -c
- |
echo 'export PERL5LIB=/somedir' >> /etc/profile
perl -le 'print for @INC'
services:
test2:
image: httpd
command:
- bash
- -c
- |
echo 'PERL5LIB="/somedir"' >> /etc/environment
perl -le 'print for @INC'
(нет /somedir
на выходе)
Как установить PERL5LIB
для daemon
пользователя без запуска command:
от daemon
пользователя?