错误提示:
Give root password for maintenance (or type Control-D to continue):服务器重启后报错如上,面向百度来讲,这个错误大部分原因都是挂载问题,解决方式:
输入root用户密码,进入系统.执行命令: vim /etc/fstab |# 打开以后,示例: # /etc/fstab # Created by anaconda on Mon Jun 1 13:49:02 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / ext4 defaults 1 1 UUID=218c68fc-215e-47bc-a07a-60a4d7d53601 /boot xfs defaults 0 0 /dev/mapper/centos-home /data ext4 defaults 1 2 /dev/mapper/centos-swap swap swap defaults 0 0 首先检查挂载选项,如果发现有问题的就注释掉,重启当然,我是没有发现有什么问题,如上,我有一个挂载在 /data 下的分区,同时也是数据存储分区,其他两个一个是swap分区无所谓,另一个是系统所需的挂载在根分区下的
如果找不到或者不知道那个有问题,可以先把所有挂载都注释掉(处根目录 外),此处注释掉了 挂载到data目录的.将所有涉及这几个挂载目录的服务全部取消开机自启动,然后重启. 启动成功后手动挂载(路径直接复制)
我的docker服务是没有取消,这个坑是踩过之后再知道的. 当我重启成功后再手动挂载上,我的docker服务已经开机自启动了. 我执行了 docker ps -a,发现几十个容器全部都没了,一片空白.
[root@localhost docker]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES当时有点懵,重启了下并没什么软用. 然后我想重新启动rancher,因为数据都是存储在本地的,没丢,只要启动起来容器还会回来.
[root@localhost mysql]# docker run -d -p 8080:8080 --restart=always -v /data/rancher/db:/var/lib/mysql --name rancher-server registry.cn-hangzhou.aliyuncs.com/sinobasedm/rancher-server:1.6.14 Unable to find image 'registry.cn-hangzhou.aliyuncs.com/sinobasedm/rancher-server:1.6.14' locally 1.6.14: Pulling from sinobasedm/rancher-server Digest: sha256:1189591225794e9eed212fa21cb4120d36a0d3821d0ecff2637e71713432a219 Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/sinobasedm/rancher-server:1.6.14 docker: Error response from daemon: layer does not exist. See 'docker run --help'.是的,启动失败了. 然后我贼心不死,重启了下docker
[root@localhost docker]# systemctl restart docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. [root@localhost docker]# cd /data/docker/ [root@localhost docker]# ls builder containerd containers image network overlay2 plugins runtimes swarm tmp trust volumes然后docker就起不来了… 我的docker数据是放在/data下的,然后我跑去检查了下,数据目录都还在. 按照他给我的提示执行了
[root@localhost mysql]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: failed (Result: start-limit) since Wed 2020-07-01 11:32:22 CST; 9s ago Docs: https://docs.docker.com Process: 11644 ExecStart=/usr/bin/dockerd --insecure-registry 124.239.180.93:5000 --insecure-registry 124.239.180.93:5000 --insecure-registry 124.239.180.93:5000 --insecure-registry 124.239.180.93:5000 (code=exited, status=1/FAILURE) Main PID: 11644 (code=exited, status=1/FAILURE) Jul 01 11:32:22 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine. Jul 01 11:32:22 localhost.localdomain systemd[1]: Unit docker.service entered failed state. Jul 01 11:32:22 localhost.localdomain systemd[1]: docker.service failed. Jul 01 11:32:22 localhost.localdomain systemd[1]: docker.service holdoff time over, scheduling restart. Jul 01 11:32:22 localhost.localdomain systemd[1]: start request repeated too quickly for docker.service Jul 01 11:32:22 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine. Jul 01 11:32:22 localhost.localdomain systemd[1]: Unit docker.service entered failed state. Jul 01 11:32:22 localhost.localdomain systemd[1]: docker.service failed.我就去百度了下这个错误,好像是搜索的 Failed to start Docker Application Container Engine. 这么一段来着.
百度没有用不说还误人,大部分(99.9%)都是说/etc/docker/daemon.json 文件不对,甚至没人知道 “/usr/lib/systemd/system/docker.service” 这个文件不对也会报相同错误(我吃过亏) ,看样子靠百度救不了服务器.
我回想了一下我的操作步骤决定还原一下.
先是直接在宿主机给这台机子打了快照,然后将/etc/fstab 目录取消开机自动挂载data ,将docker取消了开机自动,停掉了服务器.
然后我再次开机,启动,远程连接,挂载目录 最后确定无误后 启动了docker.
再次执行docker ps -a,服务都回来了.docker也没了问题.