docker 默认的数据存储目录为:/var/lib/docker,主要的文件是/var/lib/docker/devicemapper/devicemapper/data,该文件存储docker的镜像文件,如果镜像过多经常会导致/var使用率100%,当然如果是生产环境你可能不会使用文件系统而是使用thinpool来存储镜像文件,而且一般生产上一台机器上的docker镜像和容器一般也会不过多。

下面我们分别介绍下修改thinpool和移动/var/lib/docker的基本操作:

Docker config thin pool

about: device-mapper-driver

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
systemctl stop docker
rm -rf /var/lib/docker

pvcreate /dev/vdb
vgcreate docker /dev/vdb

cat << EOF > /etc/sysconfig/docker-storage-setup
STORAGE_DRIVER=devicemapper
VG=docker
EXTRA_DOCKER_STORAGE_OPTIONS=" --storage-opt dm.use_deferred_removal=true"
EOF

docker-storage-setup

systemctl daemon-reload
systemctl start docker

Move /var/lib/docker ( centos 7 )

1
systemctl stop docker

set in the /etc/sysconfig/docker file, add -g

1
OPTIONS='--selinux-enabled --log-driver=journald'

to

1
OPTIONS='--selinux-enabled --log-driver=journald -g /data/docker/'

the /data/docker/ is new docker directory

if /var/lib/docker have your images and want to save it. Move the data to /data/docker

1
mv /var/lib/docker /data/
1
systemctl start docker

link: #3127 How do I change the Docker image installation directory