【问题标题】:Set environmental variables for different user in Docker在 Docker 中为不同的用户设置环境变量
【发布时间】:2018-04-18 17:44:31
【问题描述】:

我知道我们可以在运行命令期间指定选项 -e 以在 docker 中设置环境变量。这只会为 root 用户 设置 PATH。假设我有另一个名为 admin 的用户也想为该用户设置环境变量,我该如何实现呢?

这是我尝试设置环境变量的命令。

docker run -t -d -v /usr/hdp:/usr/hdp -v /usr/lib/jvm/:/usr/lib/jvm/ -e JAVA_HOME="${java_home}" -e HADOOP_HOME="${hadoop_home}" -e PATH=$PATH:$JAVA_HOME/bin -e PATH=$PATH:$HADOOP_HOME/bin gtimage

这仅在 root 用户下设置 PATH,而不是为我在 docker build 期间安装的软件创建的管理员用户设置。

【问题讨论】:

标签: linux docker virtual-machine


【解决方案1】:

对于我上面的问题,我没有完美的解决方案,但我尝试了类似下面的方法以用户身份登录并为该用户设置环境变量。除非您找不到解决问题的方法,否则我不推荐以下方式。如果您找到比这更好的方法,请告诉我

docker exec $containervalue bash -c 'env | grep PATH >> temp && chmod 775 temp && mv temp /opt/nagios'
docker exec --user ngadmin $containervalue bash -c 'cat ~/temp >> ~/.bashrc &&  source ~/.bashrc'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2018-07-20
    • 2022-11-10
    相关资源
    最近更新 更多