文章目录
- 重启虚拟机启动Docker常见问题
- 一、Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- 二、admin is not in the sudoers file. This incident will be reported.(没有这个问题请自觉跳过)
- 三、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
重启虚拟机启动Docker常见问题
一、Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
这个问题就很明显了,一般关闭虚拟机的话,我们的Docker也会被关掉的,这个时候,我们重启我们的虚拟机,一定要重新启动我们的Docker才行。
sudo systemctl start docker
二、admin is not in the sudoers file. This incident will be reported.(没有这个问题请自觉跳过)
如果此时报异常如下:
admin is not in the sudoers file. This incident will be reported.
那么说明你的用户并没有超级用户的权限(不能使用sudo)。此时,我们就应该把我们的用户添加到我们的用户组中。操作如下:
#切换到root用户
su
输入正确的密码后,我们切换到root用户,最前面应该是 [root 开头
然后我们修改我们的 sudoers 文件。
#给我们的sudoers文件添加写权限
chmod u+w /etc/sudoers
#修改我们的sudoers文件
vim /etc/audoers
在我们的 sudoers文件 中,找到 root ALL=(ALL) ALL
这一行。在他下面加入我们的用户,这里我的用户叫 admin,如果你的用户不是叫这个名字,记得改成其他的。
修改完成,保存文件并退出。然后,去掉sudoers文件的可写权限。
#去掉sudoers文件的可写权限
chmod u-w /etc/sudoers
#退出root用户
exit
然后,我们看一下我们现在是否有sudo权限,输入sudo
,如果此时界面显示如下,那么就说明我们的admin用户已经有sudo权限了。
此时,我们再使用命令
sudo systemctl start docker
便可以启动我们的Docker啦!!!
三、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
启动完docker,我们肯定要看下此时的容器是否还处于启动状态对吧。如果你在使用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
那么,就说明你的用户还没有添加到Docker组
此时,我们只需要使用以下命令将我们当前用户添加到Docker组就可以了:
#将我们当前用户添加到Docker组
sudo gpasswd -a $USER docker
newgrp docker
#重启一下我们的Docker
sudo systemctl restart docker
此时,我们再使用我们的docker ps
命令,就可以顺利看到我们正在运行的容器啦!(当然了,由于我的虚拟机现在是刚打开,Docker也是刚打开,此时所有的容器都是停止状态)所以,如果我们要看的话,我们应该使用docker ps -a
命令。
我们启动一下我们想要启动的容器就好啦。这里我启动一下我的容器mq。命令如下:
docker start mq