如何解决Linux系统下Docker占满分区的问题

今天碰到了一个问题,访问数据库的时候,发现访问不了,爆存储空间不够的错误,随后输入命令:

df -h

发现 /dev/vda1 ,也就是系统盘被占满了。不是专职的运维,所以,就开始百度解决问题。下面是解决路径:

首先是找到大文件存储位置,通过命令 du -sh /* ,找到一些目录后,发现有几个目录特别大,比如 /var ;

然后确认分区, df /var ,发现这个目录的分区是 /dev/vda1 ,于是就进入这个目录,开始删东西。我开始删掉了很多日志,但发现并没有多少作用,于是再一次使用命令: du -sh * ;

/var 目录下发现 /lib/docker 文件夹占用最大,于是就知道问题所在了,docker的镜像和容器默认放在目录 /var/lib/docker 下,占用 6.6G ;

接下来的问题就懂了,就是解决docker占用空间过大的问题,于是一开始的思路是删除不需要的容器和镜像,但发现很悲剧的是空间没有减少。于是,就又开始第二个思路,就是把我需要的镜像和容器导出来,但更悲剧的是,提示空间不足,无法导出……

因为镜像是弄了很久的,所以不想轻易舍弃。就想了很久,终于想出了一个主意。 先把 /var/lib/docker 文件夹移出去,然后重新设置docker的数据存储位置。

步骤如下(CentOS):

/etc/init.d/docker stop # 关闭docker
mv /var/lib/docker /home/docker # 迁出docker的数据(home目录没有挂载在系统盘),至此,系统盘的问题解决

然后是设置docker是数据存储位置,编辑 /etc/sysconfig/docker 文件, 添加-g 参数的设置, 如下:

other_args="-g /home/docker"

启动docker

/etc/init.d/docker start

至此,问题解决。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Docker占满磁盘空间的问题解决办法

    通过命令可以观察到/var/lib/Docker目录很大,我的主机只有20G,这个目录占了18G:原因是devicemapper的空间设的太大,通过docker info打印的Data Space Total参数可以看到,默认是107.4G. 思路如下: 备份当前容器.镜像: 删除/var/lib/docker目录: 使用dd命令重设大小: 恢复容器.镜像: 工具: 需要额外空间保存备份文件,可以挂载一个u盘或者云盘. docker save 可以导出镜像 tar文件: docker expor

  • 如何解决Linux系统下Docker占满分区的问题

    今天碰到了一个问题,访问数据库的时候,发现访问不了,爆存储空间不够的错误,随后输入命令: df -h 发现 /dev/vda1 ,也就是系统盘被占满了.不是专职的运维,所以,就开始百度解决问题.下面是解决路径: 首先是找到大文件存储位置,通过命令 du -sh /* ,找到一些目录后,发现有几个目录特别大,比如 /var : 然后确认分区, df /var ,发现这个目录的分区是 /dev/vda1 ,于是就进入这个目录,开始删东西.我开始删掉了很多日志,但发现并没有多少作用,于是再一次使用命令

  • 关于Linux服务器磁盘空间占满问题的解决方法

    下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望碰到此类问题的人能带来帮助. 今天下班某电商技术部leader发现个问题,说他们服务器硬盘满了.把日志文件都删掉了,可硬盘空间依旧满.于是df -h查看了下各个挂载点的状况(如下图). /dev/sda3占用了100%,那么我们du -s -h ./*看下目录的占用情况(如下图). 在工作中,我们也许会遇到这样的问题,发现某个磁盘空间快满了,于是,找到一些无用的大文件将其删除后,发现磁盘空间还是没有释放掉,

  • Linux系统下解决getch()输入数值不回显示问题

    在linux系统下开发C 程序却会遇到系统不支持conio.h头文件,无法使用getch()不回显函数.下面就演示如何构建函数实现数值输入不回显. #include <stdio.h> #include <termios.h> #include <unistd.h> #include <errno.h> #define ECHOFLAGS (ECHO | ECHOE | ECHOK | ECHONL) //函数set_disp_mode用于控制是否开启输入回

  • linux系统下pip升级报错的解决方法

    Pip 安装 1.在python中提供了一个get-pip.py;下面是地址 https://bootstrap.pypa.io/get-pip.py 2.在Linux下执行curl https://bootstrap.pypa.io/get-pip.py | python 进行下载安装 这样很方便了  想装什么包就装什么包 Pip install xxx 注意:升级完python版本注意,可能你的yum命令不能使用,因为yum命令使用python写的 # vi /usr/bin/yum #打开

  • 解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同

  • linux系统下实现mysql热备份详细步骤(mysql主从复制)

    主从的作用: 1.可以当做一种备份方式 2.用来实现读写分离,缓解一个数据库的压力 MySQL主从备份原理: Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务. 如果想配置成为同一台上的话,注意安装的时候,选择两个不同的prefix=路径,同时开启服务器的时候,端口不能相同. (1)首先确保主从服务器上的Mysql版本相同(做主从服务器的原则是,MYSQL版本要相同,如果不能满足,最起码从服务器的MYSQL的版本

  • linux系统下hosts文件详解及配置

    hosts文件 hosts -- the static table lookup for host name(主机名查询静态表). hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下.hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名.在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决.通过可以将常用的域名和ip地址映射加入到hosts文件中

  • 浅谈生产者消费者模型(Linux系统下的两种实现方法)

    生产者消费者问题是同步问题中的一种常见情况,借用一下维基百科的话 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例.该问题描述了两个共享固定大小缓冲区的线程--即所谓的"生产者"和"消费者"--在实际运行时会发生的问题.生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程.与此同时,消费者也在缓冲区消耗这些数据.该问题的关键就

  • Linux系统下安装jdbc与tomcat的图文教程

    一.下载Linux版本的jdbc与tomcat 1.1 下载Linux版本的jdbc: 1.1.1 1.1.2 1.1.3 在进行1.1.3操作之前得先勾选我同意协议 1.1.4 下载完成 1.2下载Linux版本的tomcat 1.2.1 1.2.2 1.2.3 下载完成 二.将下载好的两个压缩包解压 如果遇到一些不能操作的问题,得给文件夹或者文件设置权限2.1在Linux 的root根目录下创建software 指令为: 在root目录下会多出 2.2把两个包导入到software中,然后解

  • 详解linux系统下pid的取值范围

    一般PID_MAX=0x8000(可改),因此进程号的最大值为0x7fff,即32767. 进程号0-299保留给daemon进程. 现在的内核好像没有这个限制了,<linux内核设计与实现>上说为了与老版本的unix和linux兼容,pid的最大值默认是32767(short int的最大值),如果你需要的话还可以不考虑和老版本兼容,修改/proc/sys/kernel/pid_max来提高上限用echo重新写入一个数值到这个文件即可. 由于一般机器不可能同时跑那么多进程+线程,所以3276

随机推荐