$ cat /proc/partitions
major minor #blocks name
202 0 68157440 xvda
202 1 512000 xvda1
202 2 5242880 xvda2
202 3 2097152 xvda3
202 4 1 xvda4
202 5 60303360 xvda5
202 16 104857600 xvdb
202 17 104856576 xvdb1
253 0 106496 dm-0
253 1 103698432 dm-1
253 2 103698432 dm-2
2:查看device mapper的状态
$ dmsetup status
docker--vg-docker--pool: 0 1159217152 thin-pool
docker--vg-docker--pool_tdata: 0 1159217152 linear
docker--vg-docker--pool_tmeta: 0 1179648 linear
3:查看device mapper设备依赖关系
$dmsetup deps
docker--vg-docker--pool: 2 dependencies : (253, 1) (253, 0)
docker--vg-docker--pool_tdata: 1 dependencies : (202, 17)
docker--vg-docker--pool_tmeta: 1 dependencies : (202, 17)
输出信息中(202, 17),对应了分区上的 xvdb这个设备,说明依赖的是xvdb
4:删除掉device mapper映射出来的设备
$ dmsetup remove docker--vg-docker--pool
$ dmsetup remove docker--vg-docker--pool_tdata
$ dmsetup remove docker--vg-docker--pool_tmeta
$ dmsetup status
No devices found
5:格式化磁盘
$ mkfs.xfs -f /dev/xvdb
6:创建docker的数据目录,挂载磁盘
$ mkdir -p /data/docker
$ mount /dev/xvdb /data/docker
$ df -h
Filesystem Size Used Avail Use% Mounted ondevtmpfs
16G 0 16G 0% /dev/dev/xvda5
58G 2.3G 56G 4% //dev/xvda2
5.0G 40M 5.0G 1% /home/dev/xvda1
497M 161M 337M 33% /boot/dev/xvdb
100G 33M 100G 1% /data/docker
(3)修改docker启动方式为overlayfs
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/docker daemon --storage-driver=overlay --graph="/data/docker" --insecure-registry registry.cntv.net
(4)reload配置并启动docker
$ systemctl daemon-reload
$ systemctl start docker
$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ ls /data/dockercontainers image network overlay swarm tmp trust volumes
overlayfs配置完毕!!!
遇到的问题:
在修改docker启动配置时docker.service原来的默认配置中是这样的
ExecStart=/usr/bin/dockerd -H fd://
当我改成
ExecStart=/usr/bin/dockerd --storage-driver=overlay --graph="/data/docker" --insecure-registry registry.cntv.net -H fd://
启动的时候,docker报错了。
报错内容:no sockets found via socket activation: make sure the service was started by systemd.
在github查到了这个更新。1.12版本之后这个配置发生了改变。解决办法中将-H fd://从ExecStart指令中删除,改成如下方式解决。
1 ExecStart=/usr/bin/dockerd --storage-driver=overlay --graph="/data/docker" --insecure-registry registry.cntv.net
地址:https://github.com/docker/docker/releases/tag/v1.12.5
更多Docker相关教程见以下内容:
Ubuntu使用VNC运行基于Docker的桌面系统
在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker