gpt4 book ai didi

Dockerfile更改用户组而无需注销/登录

转载 作者:行者123 更新时间:2023-12-04 19:24:15 33 4
gpt4 key购买 nike

在 Docker 文件中我有这个

FROM ubuntu
RUN apt update && apt -y upgrade
RUN apt install -y sudo
# Setup ops user use defaults uid 1000 gid 1000
RUN useradd -d /home/myuser -aG sudo \
&& usermod -aG sudo root \
&& echo "%sudo ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers
执行时
docker run -dit -u 1000:1000 myimage "/bin/bash"
docker exec -it 23u898908 "/bin/bash"
我明白了
myuser@23u898908$ id 
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser)

myuser@23u898908$ id myuser
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),27(sudo)

myuser@23u898908$ sudo ls
file.txt
换句话说,这些组正在工作,但没有显示在 id 中。命令,但显示在 id myuser命令,只是好奇我是否缺少某些东西,还是设计使然?
如果执行
myuser@23u898908$sudo su -l myuser
$id
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),27(sudo)
预期的行为是只显示 id 的所有组命令,这可能是一个错误吗?

最佳答案

您必须重新登录或重新启动容器才能刷新它。 id 将其用于当前 session

关于Dockerfile更改用户组而无需注销/登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72589241/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com