一尘不染

以非root用户身份连接到docker容器

docker

运行时默认

docker run -it [myimage]

要么

docker attach [mycontainer]

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


阅读 483

收藏
2020-06-17

共1个答案

一尘不染

对于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更改用户
2020-06-17