如何通过docker-compose为非root用户设置环境变量?

时间:2019-03-21 10:43:01

标签: bash docker environment-variables

此功能有效(为用户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

0 个答案:

没有答案