gbless 发表于 2015-12-25 07:46:32

修改Docker镜像的存储位置

          Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。
  # df -lhT
  Filesystem   Type   SizeUsed Avail Use% Mounted on
  /dev/vda1      xfs       20G3.8G   16G 20% /
  devtmpfs       devtmpfs 916M   0916M0% /dev
  tmpfs         tmpfs   921M    0921M   0% /dev/shm
  tmpfs          tmpfs   921M43M878M   5% /run
  tmpfs          tmpfs   921M    0921M   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/dockernone bind 0 0
文件的内如如下:
# 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   SizeUsed Avail Use% Mounted on
  rootfs      rootfs   9.8G1.4G7.9G 15% /
  tmpfs      tmpfs   921M   0921M0% /dev
  shm          tmpfs   64M    0   64M   0% /dev/shm
  /dev/vdb       xfs   100G2.1G   98G3% /etc/resolv.conf
  /dev/vdb       xfs   100G2.1G   98G3% /etc/hostname
  /dev/vdb       xfs   100G2.1G   98G3% /etc/hosts
  tmpfs      tmpfs   921M   0921M0% /run/secrets
  tmpfs      tmpfs   921M   0921M0% /proc/kcore
  没有更改/var/lib/docker路径之前的情况:
  bash-4.1#df -lhT
  Filesystem    Type   SizeUsed Avail Use% Mounted on
  rootfs      rootfs   9.8G1.4G7.9G 15% /
  tmpfs      tmpfs   921M   0921M0% /dev
  shm          tmpfs   64M    0   64M   0% /dev/shm
  /dev/vda1      xfs    20G   13G6.9G 66% /etc/resolv.conf
  /dev/vda1      xfs    20G   13G6.9G 66% /etc/hostname
  /dev/vda1      xfs    20G   13G6.9G 66% /etc/hosts
  tmpfs      tmpfs   921M   0921M0% /run/secrets
  tmpfs      tmpfs   921M   0921M0% /proc/kcore
  宿主机中的分区大小信息:
  # df -lhT
  Filesystem   Type   SizeUsed Avail Use% Mounted on
  /dev/vda1      xfs       20G   13G6.9G 65% /
  devtmpfs       devtmpfs 916M   0916M0% /dev
  tmpfs          tmpfs   921M    0921M   0% /dev/shm
  tmpfs          tmpfs   921M89M832M10% /run
  tmpfs          tmpfs   921M    0921M   0% /sys/fs/cgroup
  /dev/vdb       xfs      100G   33M100G   1% /data
页: [1]
查看完整版本: 修改Docker镜像的存储位置