docker容器存放目录磁盘空间满了的解决

 更新时间:2024年07月04日 15:07:11   作者:niu_hao  
这篇文章主要介绍了docker容器存放目录磁盘空间满了的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker容器存放目录磁盘空间满了

在Liunx服务器上重启docker的时候,发现容器启动不了了,报的错误是:

"ERROR:cannot create temporary directory!"

我的猜测应该就是磁盘空间满了,于是执行命令"df -h",出来的结果是 挂载点/var/lib/docker/overlay/ 已用%为100%,真的是磁盘空间用完了。

我不理解的是我的容器有配置数据卷呀,容器里面动态增长的数据例如上传的图片、产生的日志都是放在数据卷里面的,照常来说是不会导致容器满了呀,后面问了公司的美女,美女说让我执行命令:docker ps -s ,看看容器大小是不是太大了,如果是太大了应该就是数据卷没有设置好。

按照美女说的执行了,发现容器大小跟我第一次运行容器的大小一样,那就说明数据卷是设置成功了。

然后就继续问美女咯,美女问docker是谁装的,我回到说是我自己安装的并且还是采用离线的方式安装的,美女就说那你就是docker默认目录没有改了,docker默认目录空间太小了,用不了多久就会满了。

docker中默认存放镜像和容器的目录是:/var/lib/docker/,就是上面我说的挂载已经满了的家伙,那既然找到原因了,那就解决呗。

解决办法

就是迁移默认目录/var/lib/docker下面的所有文件到新的目录下面,然后将docker存放镜像和容器的目录改为新的目录。

我的系统是Centos7,解决的具体步骤如下:

1、停止docker服务。

systemctl stop docker; //每个liunx版本的命令不一样。

2、创建新的docker目录,执行命令df -h,找一个大的磁盘。

我的是放在/home目录下面,我的/home目录大小有900G。

我在 /home目录下面建了 /home/docker/lib目录,执行的命令是:mkdir -p /home/docker/lib

3、迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面

cp -R /var/lib/docker/* /home/docker/lib/

注意:

  • 如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。
  • 如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。

4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf),在文件末添加 --graph=/home/docker/lib

devicemapper.conf文件的内容如下:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=私 服地址 --graph=/home/docker/lib

注意:

  • 如果/etc/systemd/system/docker.service.d/devicemapper.conf
  • 这个路径找不到的话,就新建,新建之后加入内容,没有私 服地址的话就可以去掉”--insecure-registry=私 服地址”

5、重载配置,重启docker

systemctl daemon-reload;
systemctl restart docker;
systemctl enable docker;

6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了。

总结

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

相关文章

  • ubuntu系统使用docker gitlab 磁盘空间满的问题及解决

    ubuntu系统使用docker gitlab 磁盘空间满的问题及解决

    这篇文章主要介绍了ubuntu系统使用docker gitlab 磁盘空间满的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 修改Docker镜像仓库为阿里云镜像或163镜像的实现

    修改Docker镜像仓库为阿里云镜像或163镜像的实现

    docker本身的仓库非常慢,但是国内有阿里云的镜像仓库非常快,本文主要介绍了修改Docker镜像仓库为阿里云镜像或163镜像的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • docker 命令报异常permission denied的解决方案

    docker 命令报异常permission denied的解决方案

    这篇文章主要介绍了docker 命令报异常permission denied的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker 搭建lamp应用实例详解

    Docker 搭建lamp应用实例详解

    这篇文章主要介绍了Docker 搭建lamp应用实例详解的相关资料,这里对搭建 LAMP的步骤做了详细介绍,需要的朋友可以参考下
    2016-11-11
  • docker容器内安装TensorRT的问题

    docker容器内安装TensorRT的问题

    很多朋友在使用docker容器内安装TensorRT的时候,遇到一大堆棘手的问题,不知道怎么处理好了,今天小编就docker安装TensorRT的问题给大家详细介绍下,感兴趣的朋友一起看看吧
    2021-05-05
  • ubuntu如何查看docker容器占用的磁盘空间

    ubuntu如何查看docker容器占用的磁盘空间

    这篇文章主要介绍了ubuntu如何查看docker容器占用的磁盘空间问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Docker rocketmq部署的实现示例

    Docker rocketmq部署的实现示例

    最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑,感兴趣的可以了解一下
    2021-12-12
  • Docker入门教程之本地打包docker镜像教程

    Docker入门教程之本地打包docker镜像教程

    Docker镜像是一个特殊的文件系统,既提供了运行时所需的程序、库和资源,还提供了相应的配置参数,只是不包含动态数据,下面这篇文章主要给大家介绍了关于Docker入门教程之本地打包docker镜像的相关资料,需要的朋友可以参考下
    2023-06-06
  • docker pull很慢如何解决

    docker pull很慢如何解决

    这篇文章主要介绍了docker pull很慢的解决方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 在Idea中使用Docker部署SpringBoot项目的详细步骤

    在Idea中使用Docker部署SpringBoot项目的详细步骤

    这篇文章主要介绍了在Idea中使用Docker部署SpringBoot项目的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论