Linux运维——解决Ubuntu18.04输入sudo apt-get 命令无法获取锁的问题,DDocker安装非root用户启动问题
问题使用Ubuntu打开终端时,输入带有sudo apt-get 命令行是报下面错误:E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?原因分析在ubuntu系统用带有apt-get 命令行的时候,如果在未完成任务的情况下将终端中断,此时 apt-get进程可能没有结束。当
问题
使用Ubuntu打开终端时,输入带有sudo apt-get 命令行是报下面错误:
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
原因分析
在ubuntu系统用带有apt-get 命令行的时候,如果在未完成任务的情况下将终端中断,此时 apt-get进程可能没有结束。当重新开机再次运行带有apt-get命令行的时候,可能会发生上面的错误.
解决方法
在终端输入下面命令强制解锁
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
问题二描述:Ubuntu18.04 root用户安装完docker以后 查看docker信息时出现如下问题:

ERROR: 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/info": dial
unix /var/run/docker.sock: connect: permission denied
2 原因分析
来自docker mannual:
Manage Docker as a non-root user
The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The docker daemon always runs as the root user.
If you don’t want to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.
docker进程使用 Unix Socket 而不是 TCP 端口。而默认情况下,Unix socket 属于 root 用户,因此需要 root权限 才能访问。
3 解决方法
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
bowen@bowen-virtual-machine:~$ sudo groupadd docker
[sudo] bowen 的密码:
groupadd:“docker”组已存在
bowen@bowen-virtual-machine:~$
bowen@bowen-virtual-machine:~$ sudo gpasswd -a $bowen docker
gpasswd:用户“docker”不存在
bowen@bowen-virtual-machine:~$ sudo gpasswd -a $USER docker
正在将用户“bowen”加入到“docker”组中
bowen@bowen-virtual-machine:~$ newgrp docker
bowen@bowen-virtual-machine:~$ docker version
Client: Docker Engine - Community
Version: 20.10.8
API version: 1.40
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:54:08 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 19.03.15
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 99e3ed8919
Built: Sat Jan 30 03:15:20 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.18.0
GitCommit: fec3683
更多推荐




所有评论(0)