表示docker runs the container as root user
容器内启动的进程的有效 UID 是 root 用户里面容器?或者使用 调用的主机容器进程docker run
具有或可能具有 root 的有效 UID在主机上?
我不太确定它是在容器内还是在主机上进行通信,或者两者兼而有之。我想它只特定于容器内,但如果不是这种情况,请帮助理解。
比如只有当docker daemon以root有效UID运行时,宿主机上的容器进程才具有root权限,那么在容器内使用root是否等同于给容器内启动的进程赋予root权限?
答案1
默认情况下,docker 守护进程以 root 权限运行,这允许它在 docker 主机上执行需要 root 权限的任务,例如公开特权端口、映射/挂载文件系统和卷等。
但这并不是一个硬性要求:你可以以非 root 用户身份运行 Docker 守护进程,也就是所谓的“无根模式“。
无论哪种模式你都可以使用用户命名空间当容器运行必须以 root 用户身份在容器内运行的进程时,将 root 用户重新映射到 Docker 主机上权限较低的用户。https://docs.docker.com/engine/security/userns-remap/