# 安装yum-utils,它提供一个yum-config-manager单元,同时安装的device-mapper-persistent-data和lvm2用于储存设备映射(devicemapper)必须的两个软件包。 yum install yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 查看最新docker 版本 yum list docker-ce.x86_64 --showduplicates |sort -r yum install -y --setopt=obsoletes=0 docker-ce-18.09.7-3.el7 #####修改docker启动文件 grep -vE '^$|^#' /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=network.target firewalld.service [Service] Type=notify NotifyAccess=main Environment=GOTRACEBACK=crash Environment=DOCKER_HTTP_HOST_COMPAT=1 ExecStart=/usr/bin/dockerd \ --graph /opt/docker \ --exec-opt native.cgroupdriver=systemd \ --selinux-enabled \ --insecure-registry harbor.duia.com ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=0 Delegate=yes Restart=on-abnormal KillMode=process [Install] WantedBy=multi-user.target [root@k8s-bj-zw-bgp1 ~]# cat /etc/docker/daemon.json { "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "log-driver":"json-file", "log-opts": {"max-size":"500m", "max-file":"3"} }
EnvironmentFile=-/run/flannel/subnet.env
EnvironmentFile=-/run/flannel/docker
引用了flannel生成的两个文件,启动时加载了 DOCKER_NETWORK_OPTIONS 变量,覆盖docker本来的配置。
$DOCKER_NETWORK_OPTIONS和$MAINPID不须要替换;
flanneld 启动时将网络配置写入到 /run/flannel/docker 文件中的变量 DOCKER_NETWORK_OPTIONS,dockerd 命令行上指定该变量值来设置 docker0 网桥参数;
若是指定了多个 EnvironmentFile 选项,则必须将 /run/flannel/docker 放在最后(确保 docker0 使用 flanneld 生成的 bip 参数);
不能关闭默认开启的 –iptables 和 –ip-masq 选项;
若是内核版本比较新,建议使用 overlay 存储驱动;
–exec-opt native.cgroupdriver=systemd参数能够指定为”cgroupfs”或者“systemd” 官方推荐修改 cgroup driver 为 systemd
官方文档:https://kubernetes.io/docs/setup/production-environment/container-runtimes/ linux
centos xfs 文件系统,修改支持overlay2 存储格式 docker
mkfs.xfs -n ftype=1 /dev/sdb1 http://www.senra.me/docker-switch-storage-driver-to-overlay2-to-optimize-performance/ ###### 查看当前存储驱动 docker info|grep -i storage ###### 中止Docker service docker stop #清空数据,若是有啥须要的请本身备份 rm -rf /var/lib/docker/* #修改配置文件 vi /etc/docker/daemon.json #若是没有这个文件或没有内容,就直接把下面的粘贴进去 #否则就只添加那一条 #若是不是在最后一行加请自行在末尾添加逗号 { "storage-driver": "overlay2" } #若是是CentOS7或者RedHat7内核在3.10.0-693如下的,换成下面的 { "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } #固然,也能够经过给docker修改启动参数的方式来 # 1.修改/etc/init.d/docker # 这个直接在 dockerd 后面加参数就行,不过其实和下面的差很少 # 2.修改/etc/sysconfig/docker # 改为相似 other_args="-s overlay2" # 3.修改/usr/lib/systemd/system/docker.service # 改为相似 ExecStart=/usr/bin/dockerd -s overlay2 #启动docker service docker start