docker镜像、容器消失两种解决办法小结

 更新时间:2025年08月21日 10:12:50   作者:oh la la  
在进行系统更新时,很有可能对Docker造成一定的影响,导致其下载的镜像和容器被清理掉,这篇文章主要介绍了docker镜像、容器消失两种解决办法的相关资料,需要的朋友可以参考下

前言

在工作中遇到了docker部署的服务突然停止的问题,ssh 查看后才知道原来是镜像和容器都不见了,如果遇到了这些问题的话,
可以参考一下步骤来解决。先看一下docker安装的目录是否存储空间已满,如果满了请看方法2. 如果没满可以尝试方法1.

方法1. 更换daemon.json

  1. 修改/etc/docker/daemon.json,让daemon.json非法,然后执行systemctl restart docker,这个时候docker会报错
  2. 恢复正常的/etc/docker/daemon.json,然后执行systemctl daemon-reload,systemctl restart docker就可以了

方法2. 更换docker安装目录

要将 Docker 的安装目录(即 Docker 存储其容器、镜像、卷和网络的目录)更改到/data下,您需要进行以下步骤:

2.1 停止 Docker 服务

首先,停止 Docker 服务以确保在更改配置时不会有任何冲突。

sudo systemctl stop docker

2.2 创建新的 Docker 目录

/data 下创建一个新的目录来存放 Docker 数据。

sudo mkdir -p /data/docker

2.3 修改 Docker 配置文件

编辑 Docker 的配置文件,通常位于 /etc/docker/daemon.json。如果该文件不存在,可以创建一个新的。

sudo nano /etc/docker/daemon.json

在文件中添加或修改以下内容,以将 Docker 数据根目录设置为 /data/docker

{
  "data-root": "/data/docker"
}

如果文件中已经有其他配置项,确保 JSON 格式正确。例如:

{
  "data-root": "/data/docker",
  "other-config": "value"
}

2.4 复制现有的 Docker 数据

如果您已经有一些 Docker 数据(容器、镜像等),您需要将它们复制到新的目录。

sudo rsync -aP /var/lib/docker/ /data/docker/

2.5 启动 Docker 服务

重新启动 Docker 服务以应用更改。

sudo systemctl start docker

2.6 验证更改

验证 Docker 是否正在使用新的数据目录。

docker info | grep "Docker Root Dir"

输出应显示新的 Docker 根目录为 /data/docker

2.7 清理旧数据目录(可选)

如果确认一切正常,并且不再需要旧的 Docker 数据目录,您可以删除它以释放空间。

sudo rm -rf /var/lib/docker

总结

通过以上步骤,您可以将 Docker 的安装目录更改到 /data 下。这包括停止 Docker 服务、修改配置文件、复制现有数据、重启服务以及验证更改。确保在执行这些操作时小心谨慎,尤其是在处理现有数据时。

到此这篇关于docker镜像、容器消失两种解决办法小结的文章就介绍到这了,更多相关docker镜像、容器消失内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker中Compose与Kubernetes的区别详解

    Docker中Compose与Kubernetes的区别详解

    这篇文章主要给大家介绍了关于Docker中Compose与Kubernetes区别的相关资料,Docker Compose和Kubernetes(简称k8s)都是容器编排工具,需要的朋友可以参考下
    2023-08-08
  • IDEA 配置Docker的过程

    IDEA 配置Docker的过程

    这篇文章主要介绍了IDEA 配置Docker的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • docker 突然不能被外网访问的解决方案

    docker 突然不能被外网访问的解决方案

    这篇文章主要介绍了docker 突然不能被外网访问的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 使用Docker部署 spring-boot maven应用的方法

    使用Docker部署 spring-boot maven应用的方法

    本篇文章主要介绍了使用Docker部署 spring-boot maven应用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 搭建Docker私有镜像仓库的实现步骤

    搭建Docker私有镜像仓库的实现步骤

    私有镜像仓库可以更好地管理和控制镜像的访问和使用,提高开发和部署效率,减少网络延迟和不稳定因素的影响,本文主要介绍了搭建私有镜像仓库,感兴趣的可以了解一下
    2024-12-12
  • docker如何在一个容器内部署多个服务

    docker如何在一个容器内部署多个服务

    这篇文章主要介绍了docker如何在一个容器内部署多个服务,思路是这样的首先拿到你的httpd,以及你的springBoot,合并他们的Dockerfile,然后打包,然后启动的时候启动多个端口(httpd的端口和你服务的端口),需要的朋友可以参考下
    2024-01-01
  • Docker网络IP地址冲突的解决方法

    Docker网络IP地址冲突的解决方法

    本文主要介绍了Docker网络IP地址冲突的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • docker-registry私有仓库镜像之查看与删除实现方式

    docker-registry私有仓库镜像之查看与删除实现方式

    文章主要介绍了如何查看、删除私有仓库中的镜像以及获取镜像的hash值,通过使用`curl`命令和Python格式化json,可以方便地查看镜像和tag列表,删除镜像时需要确认功能是否开启,并且通过重启registry容器使修改生效
    2025-12-12
  • 云centos开启docker远程服务链接的实现步骤

    云centos开启docker远程服务链接的实现步骤

    本文主要介绍了云centos开启docker远程服务链接,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker可视化工具Portainer部署并汉化的操作

    docker可视化工具Portainer部署并汉化的操作

    这篇文章主要介绍了docker可视化工具Portainer部署并汉化的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论