前言
首先平常公司的Linux生产环境为了防止误操作导致灾难性问题,一般都不会给我们开发开放root管理员的账号权限。所以平常在Ubuntu的普通用户登录的时候,要操作Dcoker一般都需要带上sudo来提升命令执行权限。为了解决这一问题,我们只需要将Docker假如到sudo用户组,即可默认sudo权限运行。
permission denied问题
lighthouse@VM-16-10-ubuntu:~$ docker ps Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied lighthouse@VM-16-10-ubuntu:~$ docker images Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied lighthouse@VM-16-10-ubuntu:~$
验证是否有Docker用户组
正常情况下,安装完Docker以后会自动创建一个用户组,执行以下命令验证即可:
grep docker /etc/group
添加Docker用户组
sudo groupadd docker
将当前登录用户添加到Docker用户组
$USER是一个Linux 的环境变量,表示的是当前用户的用户名。
sudo gpasswd -a $USER docker
更新Docker用户组
newgrp dockery
验证执行Dcoker命令不加sudo是否能正常运行