此功能有效(为用户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
)
但是,当我从root
用户在docker容器中启动前台进程但从非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
?