奥丁9
奥丁9
后端
数据库
redis
mysql
mongoDB
达梦
php
laravel
laravel-admin
dcat
表单
表格
java
spring
python
go
c
c++
前端
vue
nodejs
sass/less
html/css
前端框架
javascript
微信生态
公众号
小程序
uniapp
typescript
其他
AI
数据结构
安全
linux
seo
git
健身
算法
正则表达式
docker
待分类
其他
/
docker
以非 root 用户身份管理 Docker
3个月前
aoding9
10
docker
https://www.cnblogs.com/zuoyang/p/16355382.html Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字归用户所有root,其他用户只能使用sudo。 Docker 守护程序始终以root用户身份运行。 如果您不想在 docker 命令前加上sudo,请创建一个名为 Unix 组 docker 并将用户添加到其中。当 Docker 守护进程启动时,它会创建一个可供 docker 组成员访问的 Unix 套接字。 警告: 该docker组授予与root 用户等效的权限。有关这如何影响系统安全性的详细信息,请参阅 Docker Daemon Attack Surface(https://docs.docker.com/engine/security/#docker-daemon-attack-surface)。 注意: 要在没有 root 权限的情况下运行 Docker,请参阅 以非 root 用户身份运行 Docker 守护程序(无根模式 https://docs.docker.com/engine/security/rootless/)。 要创建docker组并添加您的用户: 1、创建 docker 用户组: sudo groupadd docker 2、将您的用户添加到docker组中。 sudo usermod -aG docker $USER 3、注销并重新登录,以便重新评估您的组成员身份。 newgrp docker 4、验证您是否可以在docker没有sudo. docker run hello-world 此命令下载 test image 并在容器中运行它。当容器运行时,它会打印一条消息并退出。 如果您sudo在将用户添加到docker组之前最初使用 Docker CLI 命令运行,您可能会看到以下错误,这表明您的~/.docker/目录是由于sudo命令而使用不正确的权限创建的。 WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied 要解决此问题,请删除~/.docker/目录(它会自动重新创建,但会丢失任何自定义设置),或使用以下命令更改其所有权和权限: sudo chown "$USER":"$USER" /home/"$USER"/.docker -R sudo chmod g+rwx "$HOME/.docker" -R
本作品采用
《CC 协议》
,转载必须注明作者和本文链接