有一次我启动docker时,发现里面所有镜像和容器都没有了吓了我一机灵。
突然想起来,我刚启动docker时,docker报错无法启动,我不小心点了Reset to factory defaults。 应该是不小心把docker恢复默认设置了。也就是将Setting中的设置全部恢复初始化了。
在这里插入图片描述

解决:

  1. 我们之所以所有镜像和容器没有了,是因为docker把这些所有东西都放到了一个MobyLinuxVM.vhdx的文件中。
    这个设置在 settings的 Advanced中设置。恢复出厂设置后它将地址设置为C盘的C:\Users\Public\Documents\Shared Virtual Machines\MobyLinuxVM.vhdx。 因为我从来没有设置过这个文件夹所以这个文件夹是新的,里面的MobyLinuxVM.vhdx文件也是恢复默认设置后docker该给我创建的新的,所以docker中我们会找不到任何镜像和容器。
    在这里插入图片描述
  2. 如果我们知道以前的MobyLinuxVM.vhdx路径,那我们设置它。它的设置还是有点问题的,我们不能直接设置。
    我们先找到原先的MobyLinuxVM.vhdx路径,并将MobyLinuxVM.vhdx文件剪切出来保存到一个地方,保证这个文件夹是空的。然后在Advanced的Disk images localtion中,设置为原先的路径,然后点击[Apply],docker就会重启。

我们无法直接设置为原先的路径,因为我们在修改Disk images localtion设置后,他将会找到这个文件夹,然后在这个文件夹创建一个新的MobyLinuxVM.vhdx文件,但当这个文件夹中如果有了MobyLinuxVM.vhdx文件,它并不会覆盖,依然将docker默认路径作为这个设置的配置。

  1. 我们重启后,我们设置的路径就会多出一个MobyLinuxVM.vhdx,我们退出docker,将MobyLinuxVM.vhdx删除,再把我们以前剪切出去的所有镜像和容器的MobyLinuxVM.vhdx复制进来,然后启动docker。 就会发现所有的镜像和容器有都回来了。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐