docker - 以 root 以外的用户身份连接到 docker 容器

标签 docker containers root

默认情况下运行时

docker run -it [myimage]

docker attach [mycontainer]

您以 root 用户身份连接到终端,但我想以其他用户身份连接。这可能吗?

最佳答案

对于 docker run :

只需添加选项 --user <user>在启动 docker 容器时更改为另一个用户。

docker run -it --user nobody busybox

对于 docker attachdocker 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)

如果你真的想附加到你想拥有的用户,那么

  1. 从该用户开始 run --user <user>或在您的 Dockerfile 中提及使用 USER
  2. 使用 `su 更改用户

关于docker - 以 root 以外的用户身份连接到 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35734474/

相关文章:

docker - 使用 Docker 时共享主机操作系统的内核

mysql - 在MySQL安装中取消勾选Modify Security Settings时,Access Denied root@localhost

dns - 如何在Marathon Docker参数中使用变量

docker - 基本操作系统镜像是否曾经包含Linux内核?

Docker:能够从主机但不能从容器远程登录到远程机器

docker - 为docker机器和docker容器获取了相同的Ubuntu镜像,但docker-machine中提供了更多二进制文件

docker - 如何在docker swarm中指定--dns条目

c++ - 处理容器类中的动态分配内存

java - 如何连续进行多次根操作(批量根操作)?

Python 应用程序权限被拒绝