Docker 组中添加两个用户的不同路径

Docker 组中添加两个用户的不同路径

我的笔记本电脑操作系统是 Ubuntu 20.04,并且有以下用户:

saeed (my main user)
test1 (created for testing only)

我已将它们全部添加到docker组中,并且它们都可以运行 docker 命令,但我看到两种不同的行为。我举例说明:

  1. docker run -d --name saeed nginx使用saeed用户运行。然后我docker inspect container_name看到这是overlay2(和其他文件)路径:
/home/saeed/.local/share/docker/...
  1. docker run -d --name test1 nginx使用test1用户运行。然后我docker inspect container_name看到这是overlay2(和其他文件)路径:
/var/lib/docker/...

为什么会有差异?如何解决?

答案1

您的 saeed 帐户似乎已配置为在无根配置。这意味着您正在与以您的用户身份运行的单独 docker 守护程序对话,将文件存储在您的用户主目录中。无需为此将您的用户添加到组中docker,这样做会破坏通过运行无根守护程序获得的安全性(因为同一个用户可以重新配置他们的DOCKER_HOST变量以与以 root 身份运行的守护程序对话,从而提升他们的权限)。

test1 用户使用传统的 docker 安装以 root 身份运行单个守护进程。这样做可能会获得更好的性能和更少的问题,但请确保您信任在主机上以 root 用户身份运行命令的用户。

相关内容