- 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