普通用户获得docker权限
为了让当前用户在不使用 sudo 的情况下操作 Docker,你需要将用户加入 Docker 用户组。以下是具体步骤:
- 检查是否已经存在
docker组
执行以下命令,检查系统中是否有一个名为 docker 的组:
1 | grep docker /etc/group |
如果存在,输出类似以下内容:
1 | docker:x:999: |
如果没有存在,可以使用以下命令创建 Docker 组:
1 | sudo groupadd docker |
- 将当前用户添加到
docker组
运行以下命令将当前用户加入 Docker 组(假设当前用户名为 $USER):
1 | sudo usermod -aG docker $USER |
- 应用组更改
为了使组的更改生效,你需要重新登录或者启动一个新的会话。例如:
1 | newgrp docker |
或者完全注销并重新登录。
- 验证是否生效
重新登录后,检查是否可以在不使用 sudo 的情况下操作 Docker。运行以下命令:
1 | docker run hello-world |
如果显示正常运行的输出,表示设置成功。
- 确保 Docker 服务正常运行
确保 Docker 服务正在运行。你可以使用以下命令检查 Docker 服务的状态:
1 | sudo systemctl status docker |
如果未运行,可以启动:
1 | sudo systemctl start docker |
通过以上步骤,当前用户即可在不使用 sudo 的情况下操作 Docker。如果仍然遇到权限问题,可以检查以下几点:
- 确保
docker组的GID和DockerDaemon 的GID是一致的。 - 确保
Docker套接字文件(默认路径/var/run/docker.sock)的权限允许docker组访问。
验证:
1 | ls -l /var/run/docker.sock |
输出应类似以下内容:
1 | srw-rw---- 1 root docker 0 Nov 26 10:00 /var/run/docker.sock |
docker 组成员需要拥有读写权限。如果有问题,可以用以下命令修改:
1 | sudo chown root:docker /var/run/docker.sock |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 南岩 のBlog!