- Centos 系统Docker默认文件存储使用devicemapper (loop), 官方建议生产环境下将默认的devicemapper (loop) 方式改为devicemapper (direct-lvm).
- 本文直接将默认的devicemapper 改为 overlay
- 需要删除Docker默认的/var/lib/docker 数据 (原有数据回丢失!)
查看Docker 信息
[[email protected]~]# docker info
Containers:
Running:
Paused:
Stopped:
Images:
Server Version:
Storage Driver: devicemapper
...
停止Docker服务
删除Docker数据
增加overlay module
[[email protected]~]# echo "overlay" > /etc/modules-load.d/overlay.conf
重启主机
确认overlay生效
[[email protected]~]# lsmod |grep over
overlay
修改Docker启动方式,指定storage-driver
[root@~]# mkdir -p /etc/systemd/system/docker.service.d
[root@~]# cat >/etc/systemd/system/docker.service.d/override.conf<<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon --storage-driver=overlay
EOF
启动Docker daemon
[[email protected]~]# service docker start
Redirecting to /bin/systemctl start docker.service
[[email protected]~]# docker info |grep overlay
Storage Driver: overlay
...
修改后Docker启动失败, 重装Docker
[[email protected]~]#rpm -qa |grep docker
docker-engine-selinux--el7.centos.noarch
docker-engine--el7.centos.x86_64
下面使用的是1.12 实验版本
[root@~]# cat > /etc/yum.repos.d/docker.repo <<-EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/experimental/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF