安装好CentOS系统安装好Docker 后,使用docker info
时,看见如下WARNING
信息:
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
解决办法:
- 针对
devicemapper: usage of loopback devices
的问题
我们要先了解一点小知识:
OverlayFS是一个新一代的联合文件系统,类似于AUFS,但速度更快,实现更简单。Docker为OverlayFS提供了两个存储驱动程序:旧版的overlay,新版的overlay2(更稳定)。
解决问题的先决条件:
- overlay2: Linux内核版本4.0或更高版本,或使用内核版本3.10.0-514+的RHEL或CentOS。
- overlay: 主机Linux内核版本3.18+
- 支持的磁盘文件系统
- ext4(仅限RHEL 7.1)
- xfs(RHEL7.2及更高版本),需要启用d_type=true。
因此我们可以在准备一块ext4
或xfs
文件系统的磁盘,然后在对应的文件系统执行下面的操作:
# 修改Docker默认的镜像和容器存储位置
[root@mvxl1678 yum.repos.d]# mkdir -p /apps/data/docker
[root@mvxl1678 yum.repos.d]# vi /usr/lib/systemd/system/docker.service
# 加入如下内容:
ExecStart=/usr/bin/dockerd --graph=/apps/data/docker --insecure-registry=harbor.meicloud.com
# 重启Docker
[root@mvxl1678 yum.repos.d]# systemctl daemon-reload
[root@mvxl1678 yum.repos.d]# systemctl restart docker
- 针对
bridge-nf-call-iptables
问题:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
- 在CentOS中编辑
vim /etc/sysctl.conf
加入
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
- 重载配置,重启
Docker
sysctl -p
systemctl daemon-reload
systemstl restart docker