修改Docker镜像的存储位置

Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。# df -lhTFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 xfs 20G 3.8G 16G 20% /devtmpfs devtmpfs 916M 0 916M 0% /devtmpfs tmpfs 921M 0 921M 0% /dev/shmtmpfs tmpfs 921M 43M 878M 5% /runtmpfs 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文件的内如如下:# cat /etc/fstab ## /etc/fstab# Created by anaconda on Thu Jul 31 07:50:13 2014## Accessible filesystems, by reference, are maintained under ‘/dev/disk’# See man pages fstab(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 /data xfs 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 -lhTFilesystem Type Size Used Avail Use% Mounted onrootfs rootfs 9.8G 1.4G 7.9G 15% /tmpfs tmpfs 921M 0 921M 0% /devshm 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/hoststmpfs tmpfs 921M 0 921M 0% /run/secretstmpfs tmpfs 921M 0 921M 0% /proc/kcore没有更改/var/lib/docker路径之前的情况:bash-4.1# df -lhTFilesystem Type Size Used Avail Use% Mounted onrootfs rootfs 9.8G 1.4G 7.9G 15% /tmpfs tmpfs 921M 0 921M 0% /devshm 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/hoststmpfs tmpfs 921M 0 921M 0% /run/secretstmpfs tmpfs 921M 0 921M 0% /proc/kcore宿主机中的分区大小信息:# df -lhTFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 xfs 20G 13G 6.9G 65% /devtmpfs devtmpfs 916M 0 916M 0% /devtmpfs tmpfs 921M 0 921M 0% /dev/shmtmpfs tmpfs 921M 89M 832M 10% /runtmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup/dev/vdb xfs 100G 33M 100G 1% /data