Docker主机升级到4.9版本内核,使用Overlayfs取代D(2)

$ 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.

Docker主机升级到4.9版本内核,使用Overlayfs取代D

在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主机升级到4.9版本内核,使用Overlayfs取代D

更多Docker相关教程见以下内容

Docker安装应用(CentOS 6.5_x64)

64位 CentOS下安装与启动 Docker 

CentOS7.2定制属于自己的Docker私有库 

Ubuntu使用VNC运行基于Docker的桌面系统 

阿里云CentOS 6.5 模板上安装 Docker

Ubuntu 15.04下安装Docker 

在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker

在 Ubuntu 15.04 上如何安装Docker及基本用法

Ubuntu 16.04上Docker使用手记

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a75844ed4fb0c8d3d593fedee2cd5503.html