默认情况下运行时
docker run -it [myimage]
或
docker attach [mycontainer]
您以 root 用户身份连接到终端,但我想以其他用户身份连接。这可能吗?
最佳答案
对于 docker run
:
只需添加选项 --user <user>
在启动 docker 容器时更改为另一个用户。
docker run -it --user nobody busybox
对于 docker attach
或 docker exec
:
由于该命令用于附加/执行到现有进程中,因此它直接使用那里的当前用户。
docker run -it busybox # CTRL-P/Q to quit
docker attach <container id> # then you have root user
/ # id
uid=0(root) gid=0(root) groups=10(wheel)
docker run -it --user nobody busybox # CTRL-P/Q to quit
docker attach <container id>
/ $ id
uid=99(nobody) gid=99(nogroup)
如果你真的想附加到你想拥有的用户,那么
- 从该用户开始
run --user <user>
或在您的Dockerfile
中提及使用USER
- 使用 `su 更改用户
关于docker - 以 root 以外的用户身份连接到 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35734474/