Docker容器中的特权模式与非用户名空间

时间:2017-10-09 19:37:32

标签: linux docker

据我所知,docker默认不使用user namespaces。因此,容器中的用户X(uid=1001)是主机系统中的同一用户:X(uid=1001)

当我在docker中启用user namespace支持时,我看到了不同的内容:

启用了usernamepsace:

$ docker run ubuntu sleep 1000
htop returns for `sleep` `uid=165536`

禁用了usernamepsace:

$ docker run ubuntu sleep 1000
htop returns for `sleep` `uid=0`

所以,我们看到了不同之处。禁用usernamespace运行的进程以root身份运行。 但是,为什么:

docker run -it ubuntu bash <Try to mount, for example /dev/sda。 &lt; - 这是不可能的,因为该容器没有看到/ dev / sda /

ls /dev/的输出:

console  core  fd  full  fuse  mqueue  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  urandom  zero

为什么虽然bash是根,但它看不到所有设备? 这是与主机根相同的根,因为没有usernamepsace。

当我以特权模式运行docker时ls /dev/输出所有,为什么?

0 个答案:

没有答案