Docker用户身份登录和管理员权限
更多docker的相关命令请戳我的个人网站:https://www.yolomax.com/lab/skills/docker/
以非root用户启动容器
-
为什么要用非root用户启动容器
默认情况下,容器中的进程以 root 用户权限运行,并且这个 root 用户和宿主机中的 root 是同一个用户。所以大家直接启动容器,并在容器内部跑程序时,你在宿主机上用top等命令查看进程时,以及用nvidia-smi查看显卡使用时,显示的都是root用户在运行。
这样会带来几个问题。1. 你在容器中保存的文件的拥有者并不是你,而是root用户,当你的容器被销毁后,你在宿主机上是没有权限对这些文件进行操作的。2. 对于其他用户来说,他人无法通过nvidia-smi查看显卡是谁在使用,因为通过进程ID查到的是root用户在跑程序。这不方便同事之间进行显卡利用的沟通,也不方便管理员监管。当部分进程有问题时,管理员不知道找谁。
-
怎么以非root用户启动容器。
docker run --user $(id -u ${ USER}</