目录
问题一:
解决步骤(以下操作均在root权限下进行):
前情提要:
按照网上的方法把deamon.json改成了daemon.conf,后续进行很多操作都显示
【mv: cannot move ‘daemon.conf’ to ‘daemon.json’: Read-only file system】类似的结果
一、把deamon后缀改回去,又出现上述(只读文件系统)的描述,无法修改,就输入
mount -o remount,rw /
再重新修改。参考:Linux 挂载文件系统为可读写 mount -uw / 和 mount -o remount,rw /-CSDN博客
二、此时输入systemctl status docker后显示docker已经成功开启。
对问题一的补充:
第二次实验出现问题一图中的问题时,我输入了
dockerd
查看结果,是只读,输入:mount -o remount,rw /,再重复,出现了
【failed to start daemon: failed to dial "/run/containerd/containerd.sock": unknown service containerd.services.namespaces.v1.Namespaces: not implemented】的错误提示。
于是输入
systemctl status containerd //确认containerd服务是否正在运行——显示正在运行
systemctl restart containerd //重启containerd服务
并且执行了问题二的解决代码(第三次实验证明这一步可以省略)。
接着又输入了一次dockerd查看情况:
[root@bogon docker]# dockerd
INFO[2024-04-29T20:46:56.001988262Z] Starting up
INFO[2024-04-29T20:46:56.124843526Z] [graphdriver] using prior storage driver: overlay2
INFO[2024-04-29T20:46:56.290668160Z] Loading containers: start.
INFO[2024-04-29T20:46:57.276260235Z] Removing stale sandbox 00e9210e887e29ffc6d8e67a79e4fca0b3ddc37125c35c0dae127530a253c792 (6c75f9598b5fff41e43ac26881c8af904ff9df24b9324daf787b2b2547c171e6)
WARN[2024-04-29T20:46:57.312892305Z] Error (Unable to complete atomic operation, key modified) deleting object [endpoint b23968244a48c299c019c862a4b7190af79db8cf100bf599d3bd01ab8a12717e b1737fc5bab89ae6b253ef988713c72ca8585c55955486320b589f6374e424b4], retrying....
INFO[2024-04-29T20:46:57.349203269Z] Removing stale sandbox 25b54291caf732844ccff1f80c5dbf6f60ef36261612333fd14eb547603183a9 (299b82473877e385a15e1c3b7ed16ee38a447c72a69b7aa35c35583c2410625a)
WARN[2024-04-29T20:46:57.387480762Z] Error (Unable to complete atomic operation, key modified) deleting object [endpoint b23968244a48c299c019c862a4b7190af79db8cf100bf599d3bd01ab8a12717e 521242fb69cd77607d1aa034e8efa6549c172ff2ae646207d3fd0af4e87b1bfc], retrying....
INFO[2024-04-29T20:46:57.509476263Z] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address
INFO[2024-04-29T20:46:59.878684124Z] Loading containers: done.
INFO[2024-04-29T20:46:59.997865767Z] Docker daemon commit=c8af8eb containerd-snapshotter=false storage-driver=overlay2 version=26.1.0
INFO[2024-04-29T20:47:00.009916132Z] Daemon has completed initialization
INFO[2024-04-29T20:47:00.277232387Z] API listen on /var/run/docker.sock
再次查看docker状况发现已经成功启动,命令也成功执行。
问题二:
docker成功运行,但是输入
docker ps
等类型的操作时候依然显示
【Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?】
即docker是启动状态,但是还不能用。
解决步骤:
于是参考:
依次输入
//第n次实验跳过这三行也成功了
systemctl unmask docker
systemctl start docker
systemctl status docker
systemctl stop docker.socket //停掉docker.socket
systemctl stop docker //停掉docker
systemctl restart docker //重新启动
最终成功执行命令。
问题三:
在尝试解决蓝屏问题时,重装了老版本的virtualBox(这里直接在控制面版卸载,文件不用手动删,不然vagrant无法使用),导致docker ps类型操作可用,但显示docker未启动,数据库也无法连接。
解决步骤:
继续Dockerd,显示
【failed to start daemon, ensure docker is not running or delete /var/run/docker.pid: process with PID 1419 is still running】
参考:离线安装docker排错_failed to start daemon, ensure docker is not runni-CSDN博客
后重启docker,一切正常。
总结
猜测原因是虚拟机连接数据库后的创建数据库步骤蓝屏次数过多,导致docker.socket异常退出从而进程没有退出完全。
后续:不死心又创建了一次数据库,果不其然蓝屏了,电脑重启后果不其然回到了问题一,九成是蓝屏的原因。好,这个笔记我先用(。
补充:蓝屏原因确实是virtualBox版本过高不兼容,重装后可以成功创建数据库。