修改Docker镜像的存储位置
第一种方式:
Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。
[root@10-10-63-106docker]#df-lhT
FilesystemTypeSizeUsedAvailUse%Mountedon
/dev/vda1xfs20G3.8G16G20%/
devtmpfsdevtmpfs916M0916M0%/dev
tmpfstmpfs921M0921M0%/dev/shm
tmpfstmpfs921M43M878M5%/run
tmpfstmpfs921M0921M0%/sys/fs/cgroup
/dev/vdbxfs100G11G90G11%/data
其中主要的步骤如下:
(1)首先,备份fstab文件
sudocp/etc/fstab/etc/fstab.$(date+%Y-%m-%d)
(2)停止docker,用rsync同步/var/lib/docker到新位置.
如果rsync没有安装,则使用yum-yintallrsync进行安装,停止docker,servicedockerstop,在数据分区中建立要挂载的目录,mkdir/data/docker使用rsync工具同步,rsync-aXS/var/lib/docker/./data/docker/,这可能需要花费的较长的时间,取决于/var/lib/docker的大小,
(3)修改fstab
在该文件中把下面一行添加到fstab里,将新位置挂载到/var/lib/docker
/data/docker/var/lib/dockernonebind00
文件的内如如下:
[root@10-10-63-106docker]#cat/etc/fstab
#
#/etc/fstab
#CreatedbyanacondaonThuJul3107:50:132014
#
#Accessiblefilesystems,byreference,aremaintainedunder'/dev/disk'
#Seemanpagesfstab(5),findfs(8),mount(8)and/orblkid(8)formoreinfo
#
/dev/vda1/xfserrors=remount-ro01
/swapfilenoneswapdefaults00
/dev/vdb/dataxfsdefaults,noatime00
/data/docker/var/lib/dockernonebind00
(4)重新挂载
mount–a
(5)使用下面的命令检查一下
df/var/lib/docker/
Filesystem1K-blocksUsedAvailableUse%Mountedon
/dev/vdb104806400472041047591961%/var/lib/docker
(6)进入Container查看我们的空间
bash-4.1#df-lhT
FilesystemTypeSizeUsedAvailUse%Mountedon
rootfsrootfs9.8G1.4G7.9G15%/
tmpfstmpfs921M0921M0%/dev
shmtmpfs64M064M0%/dev/shm
/dev/vdbxfs100G2.1G98G3%/etc/resolv.conf
/dev/vdbxfs100G2.1G98G3%/etc/hostname
/dev/vdbxfs100G2.1G98G3%/etc/hosts
tmpfstmpfs921M0921M0%/run/secrets
tmpfstmpfs921M0921M0%/proc/kcore
没有更改/var/lib/docker路径之前的情况:
bash-4.1#df-lhT
FilesystemTypeSizeUsedAvailUse%Mountedon
rootfsrootfs9.8G1.4G7.9G15%/
tmpfstmpfs921M0921M0%/dev
shmtmpfs64M064M0%/dev/shm
/dev/vda1xfs20G13G6.9G66%/etc/resolv.conf
/dev/vda1xfs20G13G6.9G66%/etc/hostname
/dev/vda1xfs20G13G6.9G66%/etc/hosts
tmpfstmpfs921M0921M0%/run/secrets
tmpfstmpfs921M0921M0%/proc/kcore
宿主机中的分区大小信息:
[root@10-10-63-106~]#df-lhT
FilesystemTypeSizeUsedAvailUse%Mountedon
/dev/vda1xfs20G13G6.9G65%/
devtmpfsdevtmpfs916M0916M0%/dev
tmpfstmpfs921M0921M0%/dev/shm
tmpfstmpfs921M89M832M10%/run
tmpfstmpfs921M0921M0%/sys/fs/cgroup
/dev/vdbxfs100G33M100G1%/data
原文出处:http://blog.chinaunix.net/uid-20788636-id-4988546.html
第二种方式:
安装docker之前
cd/edx
mkdirdocker
ln-s/edx/docker//var/lib/