一、Kernel调优
1.1 配置系统内核参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| cat >> /etc/sysctl.conf<<EOF net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-iptables=1 net.ipv4.neigh.default.gc_thresh1=4096 net.ipv4.neigh.default.gc_thresh2=6144 net.ipv4.neigh.default.gc_thresh3=8192 kernel.shmmax = 33285996543 kernel.shmmni = 4096 kernel.shmall = 8126464 kernel.sem = 1010 129280 1010 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 fs.file-max = 6815744 EOF
|
配置文件生效
1 2
| modprobe br_netfilter /sbin/sysctl -p
|
1.2 修改系统资源限制
1 2 3 4 5 6
| cat >> /etc/security/limits.conf<<EOF * soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535 EOF
|
二、使用官方安装脚本自动安装
安装命令如下:
1
| curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
|
也可以使用国内 daocloud 一键安装命令:
1
| curl -sSL https://get.daocloud.io/docker | sh
|
三、手动安装
3.1、卸载旧版本Docker软件
1 2 3 4 5 6 7 8 9 10 11
| sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ container*
|
3.2、更新源信息并依赖包安装
1 2
| yum update -y yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion
|
3.3、添加软件仓库源信息
采用国内阿里云的下载源
1
| yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
|
清华大学源
1
| $ yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
|
检查安装源,如果“显示元数据缓存已建立”则表示优先选择了阿里云下载源
3.4 安装
执行命令安装docker
1 2 3 4 5 6 7 8 9 10 11 12 13
| yum -y install docker-ce
service docker start
docker version docker -v
systemctl start docker
systemctl enable docker
docker pull hello-world docker run hello-world
|
四、优化
4.1、镜像加速与日志驱动配置
加速与日志驱动配置
1 2 3 4 5 6 7
| sudo vi /etc/docker/daemon.json { "live-restore": true, "registry-mirrors": ["https://hub-mirror.c.163.com", "https://bmtrgdvx.mirror.aliyuncs.com", "http://f1361db2.m.daocloud.io"], "log-driver": "json-file", "log-opts": {"max-file": "3", "max-size": "10m"} }
|
4.2、overlay2存储驱动配置(docker info 查看是否已经是overlay2)
overlay2 是当前所有受支持的Linux发行版的首选存储驱动程序,不需要任何额外的配置。
通常Docker默认使用的存储驱动为overlay2,如不是,可以通过如下方法修改.
备注:如果为非overlay2,需要添加配置,具体如下
1 2 3 4 5
| $ sudo vi /etc/docker/daemon.json { "storage-driver": "overlay2", "storage-opts": ["overlay2.override_kernel_check=true"] }
|
4.3、修改镜像及一些默认产生的数据存储位置
1 2 3 4
| $ vim /etc/docker/daemon.json { "graph": "/data/docker" }
|
4.4、新增私有库,排除走https (可选)
1 2 3 4
| $ vim /etc/docker/daemon.json { "insecure-registries":["10.11.1.207:5000", "192.168.0.75:5000"], }
|
4.5、 配置完文件重启docker
让其生效
1 2
| $ sudo systemctl daemon-reload $ sudo systemctl restart docker
|