解决docker目录内存不足扩容处理方案

 更新时间:2025年09月28日 08:48:45   作者:oNuoyi  
文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配置、重启服务并验证迁移成功,最终释放系统盘空间

当我们使用docker时,经常会创建新镜像和新容器,在新容器中又会安装各种包,这些东西不是虚拟的,而是实实在在存于我们的磁盘中,默认在/var/lib/docker中,这个目录是属于系统盘的,而系统盘的空间往往不大,这样就会造成,随着时间的推移,docker越来越大,最后系统盘的空间被占满,所以这个时候就需要迁移docker的存储目录到更大的盘,才能把系统盘的空间腾出来。

当重启容器提示no space left 就是内存不足

1、查看服务器所有磁盘的使用情况

df -h

可以看到每个盘的大小,这里可以看到/dev/mapper/centos-root总大小是50G(相对其他盘小太多),之前docker给占满了,因为我后面给docker相关迁移到了home下面,所以空出很大的空间,可以看到/dev/mapper/centos-home空间总大小984G,挂载点是/home,于是我给docker相关的目录迁移到/home下了

2、查看docker镜像和容器存储目录的空间大小

du -sh /var/lib/docker/

3、停止docker服务

systemctl stop docker

停止失败的时候可以更换命令试试

service docker stop

4、docker目录不足迁移扩容方法

将docker迁移到大容量的磁盘中

我这里是迁移到/home/docker目录下,相当于给原来的/var换成了/home/docker其他的结构和之前保持一致

# 首先创建目录
mkdir -p /home/docker/lib/
#迁移
rsync -avz /var/lib/docker /home/docker/lib/

编辑/etc/docker/daemon.json,添加参数,将docker的目录迁移绑定

红框是添加的参数,nginx版本不同data-root可能会不生效,可以给data-root换成graph试试

重载和重启docker服务

systemctl daemon-reload && systemctl restart docker

如果systemctl依然运行失败,可以使用以下命令重启docker试试:

service docker restart

检查docker是否绑定新目录

docker info

如果Docker Root Dir由/var/lib/docker变为你指定的目录,说明迁移成功

删除docker旧目录

rm -rf /var/lib/docker

这个时候再去使用docker image 、 docker ps 就可以发现之前的镜像和容器数据都在,并且可以正常使用啦

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • 私有云存储Minio Docker镜像无法启动,提示:Adding local Minio host to 'mc' configuration

    私有云存储Minio Docker镜像无法启动,提示:Adding local Minio

    使用Minio在本地搭建私有云存储时出现无法启动,查看日志频繁输出“Adding local Minio host to 'mc' configuration...”,然后停止了,本文给大家分享私有云存储Minio Docker镜像无法启动,提示:Adding local Minio host to 'mc' configuration,感兴趣的朋友一起看看吧
    2023-11-11
  • 使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,今天通过本文给大家介绍使用Docker容器部署MongoDB并支持远程访问及遇到的坑,感兴趣的朋友一起看看吧
    2022-07-07
  • 基于 Docker 和 Flask 构建高并发微服务架构的实现

    基于 Docker 和 Flask 构建高并发微服务架构的实现

    本文主要介绍了基于 Docker 和 Flask 构建高并发微服务架构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • Centos 6.5中安装docker的步骤(简洁版)

    Centos 6.5中安装docker的步骤(简洁版)

    这篇文章主要介绍了Centos 6.5中安装docker的步骤(简洁版),需要的朋友可以参考下
    2016-10-10
  • 使用Docker安装phabricator的配置和使用方法

    使用Docker安装phabricator的配置和使用方法

    今天小编就为大家分享一篇关于使用Docker安装phabricator的配置和使用方法的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • MongoDB docker集群配置小结

    MongoDB docker集群配置小结

    本文主要介绍了MongoDB docker集群配置小结,主要包括如何配置MongoDB的三个节点,以及如何使用Docker Compose快速搭建集群,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 使用docker安装hadoop的实现过程

    使用docker安装hadoop的实现过程

    这篇文章主要介绍了使用docker安装hadoop的详细过程,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • Docker 镜像导入导出过程介绍

    Docker 镜像导入导出过程介绍

    这篇文章主要介绍了Docker 镜像导入导出过程,文章围绕主题展开详细内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • docker实现本地seata分布式环境搭建详解

    docker实现本地seata分布式环境搭建详解

    这篇文章主要为大家详细介绍了docker实现本地seata分布式环境搭建的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-03-03
  • Docker的文件系统映射:主机与容器间目录的双向映射详解

    Docker的文件系统映射:主机与容器间目录的双向映射详解

    通过Docker的目录映射功能,实现主机与容器间的数据共享与持久化存储,使用-v或--mount参数在运行时设置主机与容器目录映射,或通过DockerCompose配置文件实现自动化,此功能提升数据管理灵活性和效率
    2024-11-11

最新评论