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实现批量下载pull k8s镜像并打标签tag、推送push至镜像仓库

    docker实现批量下载pull k8s镜像并打标签tag、推送push至镜像仓库

    这篇文章主要介绍了docker实现批量下载pull k8s镜像并打标签tag、推送push至镜像仓库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • 通过Docker创建CentOS容器的实现步骤

    通过Docker创建CentOS容器的实现步骤

    本文主要介绍了Docker创建CentOS容器,使用文内的脚本可以快速创建CentOS 7.8虚拟系统集群,并通过SSH(Secure Shell)远程工具连接,感兴趣的可以了解一下
    2021-11-11
  • Dockerfile打包部署详细图文教程

    Dockerfile打包部署详细图文教程

    这篇文章主要介绍了Dockerfile打包部署的相关资料,并详细解释了从创建Dockerfile到启动容器的每一步过程,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Docker-Compose的使用示例详解

    Docker-Compose的使用示例详解

    docker-compose是用来在Docker中定义和运行复杂应用的工具,比如在一个yum文件里定义多个容器,只用一行命令就可以让一切就绪并运行。下面通过示例给大家介绍Docker-Compose的使用,感兴趣的朋友一起看看吧
    2017-07-07
  • Docker下部署MinIO存储服务通过Buckets实现文件的远程上传功能

    Docker下部署MinIO存储服务通过Buckets实现文件的远程上传功能

    MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • docker+nextcloud搭建个人云存储系统的实现

    docker+nextcloud搭建个人云存储系统的实现

    这篇文章主要介绍了docker+nextcloud搭建个人云存储系统的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • docker容器内安装TensorRT的问题

    docker容器内安装TensorRT的问题

    很多朋友在使用docker容器内安装TensorRT的时候,遇到一大堆棘手的问题,不知道怎么处理好了,今天小编就docker安装TensorRT的问题给大家详细介绍下,感兴趣的朋友一起看看吧
    2021-05-05
  • Docker 命令自动补全的实现

    Docker 命令自动补全的实现

    这篇文章主要介绍了Docker 命令自动补全的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 六种Docker目录挂载类型及注意事项总结

    六种Docker目录挂载类型及注意事项总结

    这篇文章主要介绍了六种Docker目录挂载方式,包括数据卷挂载、绑定挂载、临时文件系统挂载、命名卷挂载、匿名卷挂载和卷驱动挂载,并详细说明了每种挂载方式的定义、举例和注意事项,需要的朋友可以参考下
    2025-03-03
  • Docker服务的重启服务命令详解(systemctl restart docker)

    Docker服务的重启服务命令详解(systemctl restart docker)

    这篇文章主要介绍了Docker服务的重启服务命令(systemctl restart docker),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论