Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。

[root@10-10-63-106 docker]# df -lhT

Filesystem     Type     Size  Used Avail Use% Mounted on

/dev/vda1      xfs       20G  3.8G   16G 20% /

devtmpfs       devtmpfs 916M     0  916M  0% /dev

tmpfs         tmpfs     921M    0  921M   0% /dev/shm

tmpfs          tmpfs     921M  43M  878M   5% /run

tmpfs          tmpfs     921M    0  921M   0% /sys/fs/cgroup

/dev/vdb       xfs      100G   11G   90G 11% /data

         其中主要的步骤如下:

(1)       首先,备份fstab文件

sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)

(2)       停止docker rsync同步/var/lib/docker到新位置.

        如果rsync没有安装,则使用yum-y intall rsync 进行安装,停止docker ,service docker stop,在数据分区中建立要挂载的目录,mkdir/data/docker 使用rsync工具同步,rsync -aXS /var/lib/docker/. /data/docker/,这可能需要花费的较长的时间,取决于/var/lib/docker的大小,

(3)       修改fstab

在该文件中把下面一行添加到fstab里,将新位置挂载到 /var/lib/docker

/data/docker/var/lib/docker  none bind 0 0

文件的内如如下:

[root@10-10-63-106docker]# cat /etc/fstab 

#

# /etc/fstab

# Created byanaconda on Thu Jul 31 07:50:13 2014

#

# Accessible filesystems,by reference, are maintained under '/dev/disk'

# See man pagesfstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/vda1                  /                       xfs     errors=remount-ro 0 1

/swapfile                none                    swap    defaults        0 0

/dev/vdb /dataxfs defaults,noatime 0 0

/data/docker /var/lib/docker none bind 0 0

(4)       重新挂载

mount –a

(5)       使用下面的命令检查一下

   df /var/lib/docker/

Filesystem     1K-blocks Used Available Use% Mounted on

/dev/vdb       104806400 47204 104759196   1%/var/lib/docker

6)进入Container查看我们的空间

bash-4.1# df -lhT

Filesystem    Type   Size  Used Avail Use% Mounted on

rootfs      rootfs   9.8G  1.4G  7.9G 15% /

tmpfs        tmpfs   921M     0  921M  0% /dev

shm          tmpfs     64M    0   64M   0% /dev/shm

/dev/vdb       xfs   100G  2.1G   98G  3% /etc/resolv.conf

/dev/vdb       xfs   100G  2.1G   98G  3% /etc/hostname

/dev/vdb       xfs   100G  2.1G   98G  3% /etc/hosts

tmpfs        tmpfs   921M     0  921M  0% /run/secrets

tmpfs        tmpfs   921M     0  921M  0% /proc/kcore

没有更改/var/lib/docker路径之前的情况:

bash-4.1#df -lhT

Filesystem    Type   Size  Used Avail Use% Mounted on

rootfs      rootfs   9.8G  1.4G  7.9G 15% /

tmpfs        tmpfs   921M     0  921M  0% /dev

shm          tmpfs     64M    0   64M   0% /dev/shm

/dev/vda1      xfs    20G   13G  6.9G 66% /etc/resolv.conf

/dev/vda1      xfs    20G   13G  6.9G 66% /etc/hostname

/dev/vda1      xfs    20G   13G  6.9G 66% /etc/hosts

tmpfs        tmpfs   921M     0  921M  0% /run/secrets

tmpfs        tmpfs   921M     0  921M  0% /proc/kcore

宿主机中的分区大小信息:

[root@10-10-63-106 ~]# df -lhT

Filesystem     Type     Size  Used Avail Use% Mounted on

/dev/vda1      xfs       20G   13G  6.9G 65% /

devtmpfs       devtmpfs 916M     0  916M  0% /dev

tmpfs          tmpfs     921M    0  921M   0% /dev/shm

tmpfs          tmpfs     921M  89M  832M  10% /run

tmpfs          tmpfs     921M    0  921M   0% /sys/fs/cgroup

/dev/vdb       xfs      100G   33M  100G   1% /data

09-21 19:37