# 安裝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