docker镜像、容器消失解决办法步骤记录

 更新时间:2024年10月22日 10:45:01   作者:oh la la  
在工作中,Docker服务突然停止,镜像和容器消失是极为头疼的问题,解决方案分为检查存储空间和更换Docker安装目录两种,文中将两种方法介绍的非常详细,需要的朋友可以参考下

前言

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

方法1. 更换daemon.json

  • 修改/etc/docker/daemon.json,让daemon.json非法,然后执行systemctl restart docker,这个时候docker会报错
  • 恢复正常的/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容器动态添加Volume

    如何给一个正在运行的Docker容器动态添加Volume

    这篇文章主要介绍了如何给一个正在运行的Docker容器动态添加Volume,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Docker数据目录迁移方法详解

    Docker数据目录迁移方法详解

    这篇文章主要介绍了Docker数据目录迁移方法,Docker数据目录迁移成功后再也不用担心服务器系统盘目录被占满的情况的,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • CentOS 7.5下 安装Docker 教程 详解

    CentOS 7.5下 安装Docker 教程 详解

    这篇文章主要介绍了CentOS 7.5下 安装Docker 教程 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 使用docker搭建一套开发环境全家桶的详细教程

    使用docker搭建一套开发环境全家桶的详细教程

    这篇文章主要介绍了使用docker搭建一套开发环境全家桶,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 详解如何修改docker pull镜像源

    详解如何修改docker pull镜像源

    Docker Hub Mirror 为全球最大的Docker Registry(Docker Hub)提供在中国的镜像代理服务。Docker Hub Mirror会为中国的用户在国内的服务器上缓存诸多镜像。
    2017-03-03
  • docker程序镜像的安装流程

    docker程序镜像的安装流程

    镜像相当于容器的"源代码",docker 镜像文件类似于 Java 类模板,而 docker 容器实例类似于 Java 中 new 出来的实例对象,这篇文章主要介绍了docker程序镜像的安装,需要的朋友可以参考下
    2024-01-01
  • docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍

    docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍

    这篇文章主要介绍了docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍的相关资料,需要的朋友可以参考下
    2017-01-01
  • Docker镜像的默认存储位置及修改步骤

    Docker镜像的默认存储位置及修改步骤

    Docker镜像默认存储在 /var/lib/docker 目录下,在Linux系统中,这个目录通常是在根目录下,可以使用相应命令查看,下面给大家介绍Docker镜像的默认存储位置及修改步骤,感兴趣的朋友一起看看吧
    2024-06-06
  • Docker可视化面板Portainer的实现

    Docker可视化面板Portainer的实现

    Portainer是一个免费的容器管理工具,支持Docker环境的可视化管理,通过Portainer,用户可以轻松地在Windows或Linux容器中部署服务,大大简化了Docker容器的管理工作,感兴趣的可以了解一下
    2024-11-11
  • Docker 运行多个Springboot的详细教程

    Docker 运行多个Springboot的详细教程

    这篇文章主要介绍了Docker 运行多个Springboot的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论