通过snap的Docker-无法在使用一年的安装上连接到Docker守护程序

问题描述

大约一年前,我已经通过Snap在Ubuntu 18.04上安装了Docker。我在那里大约有5张图片,并且对它们做了很多工作。

今天我开始工作,命令sudo docker start 0e0给我:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

我已经有一段时间没有使用snap了,主要是进行apt-get更新和升级。我做的最后一个是三天前的星期一。那时我还没有使用过docker,而昨天只恢复了一次计算机。

忘记了我是通过snap安装的,我尝试使用systemctl start dockerservice start docker重新启动服务,但是:

Failed to start docker.service: Unit docker.service not found.

我决定重新安装docker并执行apt-get remove dockerapt-get install docker。显然我也通过apt-get安装了它(但不能使用它?????),因为删除有效。我再次尝试systemctlservice,但输出相同。那是我记得我使用snap安装它的时候。

这时,我做sudo snap remove docker时,对快照不习惯,所以我停止了该过程四次,因为它花费的时间太长了-我不知道它正在创建快照。第五次成功创建它。我运行:sudo snap install docker。 Docker工作正常,ps -a返回一个空列表,images也返回一个空列表。

当我看到所有容器和卷数据都消失了时,我意识到可以创建快照并运行sudo snap restore 5。恢复了数据,但是docker images仍然返回一个空列表。认为需要重新启动,我进行了sudo snap restart docker

Docker成功重启,执行ps -a返回:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

回到起点。

运行snap logs docker,返回:

2020-08-27T09:19:35Z systemd[1]: Started Service for snap application docker.dockerd.
2020-08-27T09:19:36Z docker.dockerd[24590]: Failed to start daemon: Error saving key file: open /etc/docker/.tmp-key.json485929544: no such file or directory
2020-08-27T09:19:36Z systemd[1]: snap.docker.dockerd.service: Main process exited,code=exited,status=1/FAILURE
2020-08-27T09:19:36Z systemd[1]: snap.docker.dockerd.service: Failed with result 'exit-code'.
2020-08-27T09:19:36Z systemd[1]: snap.docker.dockerd.service: Service hold-off time over,scheduling restart.
2020-08-27T09:19:36Z systemd[1]: snap.docker.dockerd.service: Scheduled restart job,restart counter is at 5.
2020-08-27T09:19:36Z systemd[1]: Stopped Service for snap application docker.dockerd.
2020-08-27T09:19:36Z systemd[1]: snap.docker.dockerd.service: Start request repeated too quickly.
2020-08-27T09:19:36Z systemd[1]: snap.docker.dockerd.service: Failed with result 'exit-code'.
2020-08-27T09:19:36Z systemd[1]: Failed to start Service for snap application docker.dockerd.

该日志大约是我尝试启动要使用的容器的时间(意识到我前一天重新启动了计算机)。

在重新安装并还原快照后,Docker的版本为Docker version 19.03.11,build dd360c7

我应该怎么做才能拥有一个可以正常工作的泊坞窗,最好通过快照(现在我很了解这个概念,现在我知道它是如何工作的),然后还原仍在磁盘上的所有映像?

例如,我可以通过apt-get创建全新安装并“导入”磁盘上的映像,卷和容器吗?


P.S。 总的来说,由于两个因素,我这么细心地写了这个问题:我在docker上发现无法连接到docker守护程序的99%的问题和答案不是通过snap安装的,就是全新安装的。


编辑:

27-08-2020 12:13

文件夹/ etc / docker根本不存在,并且docker安装在/ var / snap / docker

执行sudo systemctl stop snap.docker.dockerd.servicesudo systemctl start snap.docker.dockerd.service会找到服务,但docker返回相同的错误sudo snap services docker返回:

Service         Startup  Current   Notes
docker.dockerd  enabled  inactive  -

更可笑的是,sudo snap start docker给出Started.,而再次运行services给出

Service         Startup  Current   Notes
docker.dockerd  enabled  active    -

但是当我执行sudo docker ps -a并检查services时,“当前”恢复为无效。

27-08-2020 14:06

在通过apt-get正确正确地安装了docker-ce之后,我意识到我之前没有完全安装docker。我正在尝试查找是否可以将图像,容器和卷从snaps目录移动到apt-gets docker。尚未找到答案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...