获取perl脚本中的当前真实用户,该脚本在docker容器中作为root用户执行
我想在docker容器中以root(主机上的SUDO)身份执行一个perl脚本,并在perl脚本中获取真实的用户id 例如,下面的执行应该使myscript.pl能够获取真实的用户ID(在本例中是mat),而不必将其作为附加参数显式传递给myscript.pl。。(从主机调用时,容器内的脚本应找到调用脚本的真实用户) 在容器启动期间设置为docker环境变量是不可能的,因为获取perl脚本中的当前真实用户,该脚本在docker容器中作为root用户执行,docker,exec,userid,perlscript,Docker,Exec,Userid,Perlscript,我想在docker容器中以root(主机上的SUDO)身份执行一个perl脚本,并在perl脚本中获取真实的用户id 例如,下面的执行应该使myscript.pl能够获取真实的用户ID(在本例中是mat),而不必将其作为附加参数显式传递给myscript.pl。。(从主机调用时,容器内的脚本应找到调用脚本的真实用户) 在容器启动期间设置为docker环境变量是不可能的,因为 脚本将由任何用户执行,我需要获取该用户的真实Id docker容器是使用Init服务启动的…因此这意味着从技术上来说,也不
请告诉我是否有人遇到过这样的问题并解决了它?您找不到答案 Docker容器与调用用户非常隔离。在调用
docker exec
的情况下,情况更是如此:在某个时间点,某个主机用户调用根docker守护程序来启动容器,然后在稍后的某个时间点,另一个主机用户调用根docker守护程序以作为容器内的某个其他用户运行进程
如果您需要用户在自己的文件上以自己的ID运行脚本,那么安装所需的依赖项将非常容易,这样他们就可以以自己的身份运行脚本,而无需sudo
或docker
层
$ myscript.pl
$ myscript.pl