问题概述
宝塔面板之前安装过docker,但是使用宝塔自带的Docker面板点击启动按钮,docker的服务显示一直是无法启动的状态。
文章源自玩技e族-https://www.playezu.com/803181.html
执行命令
[root@localhost ~]# systemctl status docker Unit docker.service could not be found. [root@localhost ~]# sudo systemctl stop docker Failed to stop docker.service: Unit docker.service not loaded.
根据输出,看起来有一些问题阻止 Docker 安装成功。然后可能的原因和解决方法:文章源自玩技e族-https://www.playezu.com/803181.html
重新安装
sudo yum install docker
执行结果
Is this ok [y/d/N]: y Downloading packages: (1/4): docker-common-1.13.1-209.git7d71120.el7.centos.x86_64.rpm | 101 kB 00:00:00 (2/4): container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm | 40 kB 00:00:00 (3/4): docker-client-1.13.1-209.git7d71120.el7.centos.x86_64.rpm | 3.9 MB 00:00:03 (4/4): docker-1.13.1-209.git7d71120.el7.centos.x86_64.rpm | 17 MB 00:00:13 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 总计 1.6 MB/s | 21 MB 00:00:13 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 1/4 setsebool: SELinux is disabled. 正在安装 : 2:docker-common-1.13.1-209.git7d71120.el7.centos.x86_64 2/4 Error unpacking rpm package 2:docker-common-1.13.1-209.git7d71120.el7.centos.x86_64 error: unpacking of archive failed on file /usr/bin/docker;6552e6d5: cpio: open 正在安装 : 2:docker-client-1.13.1-209.git7d71120.el7.centos.x86_64 3/4 Error unpacking rpm package 2:docker-client-1.13.1-209.git7d71120.el7.centos.x86_64 error: docker-common-2:1.13.1-209.git7d71120.el7.centos.x86_64: install failed error: unpacking of archive failed on file /usr/bin/docker-current;6552e6d5: cpio: open error: docker-client-2:1.13.1-209.git7d71120.el7.centos.x86_64: install failed /var/tmp/rpm-tmp.LN7tsH:行1: /usr/sbin/useradd: 权限不够 正在安装 : 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64 4/4 Error unpacking rpm package 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64 error: unpacking of archive failed on file /usr/bin/docker-containerd-current;6552e6d5: cpio: open 验证中 : 2:container-selinux-2.119.2-1.911c772.el7_8.noarch 1/4 验证中 : 2:docker-common-1.13.1-209.git7d71120.el7.centos.x86_64 2/4 验证中 : 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64 3/4 验证中 : 2:docker-client-1.13.1-209.git7d71120.el7.centos.x86_64 4/4 作为依赖被安装: container-selinux.noarch 2:2.119.2-1.911c772.el7_8 失败: docker.x86_64 2:1.13.1-209.git7d71120.el7.centos docker-client.x86_64 2:1.13.1-209.git7d71120.el7.centos docker-common.x86_64 2:1.13.1-209.git7d71120.el7.centos
SELinux问题: 输出中显示 setsebool: SELinux is disabled.
,这说明 SELinux 已经禁用。如果您在系统上启用了 SELinux,确保它处于活动状态。文章源自玩技e族-https://www.playezu.com/803181.html
文件解压问题: 输出中有多个 Error unpacking rpm package
的错误,可能是由于文件解压缩问题导致的。这可能是由于之前的 Docker 安装残留文件或其他问题引起的。文章源自玩技e族-https://www.playezu.com/803181.html
在重新运行安装脚本之前,尝试清理残留文件:文章源自玩技e族-https://www.playezu.com/803181.html
sudo rm -rf /usr/bin/docker*
执行命令结果:文章源自玩技e族-https://www.playezu.com/803181.html
[root@localhost ~]# sudo rm -rf /usr/bin/docker* rm: 无法删除"/usr/bin/docker": 权限不够 rm: 无法删除"/usr/bin/docker-compose": 权限不够 [root@localhost ~]#
赋予用户权限:文章源自玩技e族-https://www.playezu.com/803181.html
如果你确实需要删除或修改这个文件,你需要先取消不可修改属性,然后再进行操作。可以使用以下命令取消不可修改属性:文章源自玩技e族-https://www.playezu.com/803181.html
sudo chattr -i 文件名
然后,你可以使用 rm
命令删除文件:文章源自玩技e族-https://www.playezu.com/803181.html
sudo rm 文件名
执行结果提示:文章源自玩技e族-https://www.playezu.com/803181.html
[root@localhost bin]# sudo rm docker rm: 无法删除"docker": 权限不够 [root@localhost bin]#
在这种情况下,你遇到了权限问题,即使是使用超级用户权限 (root
),也无法删除文件。这可能是因为文件或其所在的目录具有设置了不可修改 (immutable
) 属性或其他特殊权限。
首先,确保你有对目录的写入权限。如果所在的目录也设置了不可修改属性,你可能需要取消该属性:
sudo chattr -i 目录名
[root@localhost bin]# ls -l docker -rwxr-xr-x 1 root root 61867064 12月 13 2021 docker [root@localhost bin]#
该 docker
文件的权限是 -rwxr-xr-x
,即用户 root
具有读、写、执行权限,而组和其他用户只有读和执行权限。
检查所在目录的详细信息:
ls -ld 目录名
然后,检查目录的属性,确保它没有设置不可修改属性。如果设置了,你需要取消它:
sudo chattr -i 目录名
最后,再次尝试删除文件:
sudo rm 文件名
再次执行删除:
[root@localhost usr]# ls -ld bin dr-xr-xr-x. 2 root root 61440 11月 3 03:10 bin
由于你无法在目录 bin
中写入,可能是因为这个目录的设置了不可写权限。你可以通过以下命令取消不可写权限:
sudo chmod +w bin
然后再次尝试删除文件:
sudo rm 文件名
结果成功了。产生原因就是因为系统残留了之前安装的docker系统服务。删除重新安装就可以了。
评论