本文首发于 ❄️慕雪的寒舍
通过用户组,让子用户可以直接使用docker命令。
说明
正常情况下,使用一个子用户来执行docker命令,会出现如下提示
$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/docker.sock: connect: permission denied
这个提示中的关键词是permission denied
,即我们当前的子用户没有权限来执行这个命令。只有加上sudo之后才能以root身份执行这个命令。
操作
子用户可以通过加入docker的用户组的方式来直接使用docker命令
# 用户组配置
sudo groupadd docker # 创建docker用户组(安装docker的时候会被创建)
sudo usermod -aG docker ${USER} # 当前子用户加入docker用户组
sudo systemctl restart docker # 重启docker服务# 在子用户中执行如下命令
newgrp docker # 用相同的用户,以docker群组的身份登录bash
docker ps # 现在不用sudo也能执行docker命令了
执行了上面这些命令后,不需要sudo子用户也可以执行docker命令啦。