目录

Docker安装

二、Docker安装及初始化

先安装可能需要用到的软件:

1
yum install -y wget net-tools nfs-utils lrzsz gcc gcc++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack

添加docker的yum源

安装Docker

1
2
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y docker-ce

优化

  1. 开启包转发功能:

modprobe br_netfilter

检查模块是否开启:

1
2
3
[root@k8s-master ansible]# lsmod | grep netfilter
br_netfilter           24576  0
bridge                200704  1 br_netfilter

设置开机自动加载模块脚本: 新建/etc/rc.sysinit文件:

1
2
3
4
5
[root@k8s-master ansible]# cat /etc/rc.sysinit 
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules;do
[ -x $file ] && $file
done

新建/etc/sysconfig/modules/br_netfilter.modules文件

1
2
3
[root@k8s-master ansible]# cat /etc/sysconfig/modules/br_netfilter.modules 
modprobe br_netfilter
[root@k8s-master ansible]# chmod 755 /etc/sysconfig/modules/br_netfilter.modules

开启原因:若不开启安装docker时可能会有报错:

1
net.bridge.bridge-nf-call-ip6tables is disabled
  1. 修改内核参数:
1
2
3
4
5
cat > /etc/sysctl.d/docker.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

使参数生效:

1
sysctl -p /etc/sysctl.d/docker.conf

修改原因:Linux系统作为路由或者vpn服务就必须要开启ip转发功能,当linux主机有多个网卡时,一个网卡收到的信息要能够传递给其他网卡,就需要将 net.ipv4.ip\_forward参数设置为1。不开启会导致docker部署的应用外部无法访问。

  1. 配置镜像加速 在/etc/docker/daemon.json文件中写入:
1
2
3
4
5
6
[root@k8s-master ansible]# cat /etc/docker/daemon.json 
{

  "registry-mirrors": ["https://izv9gc19.mirror.aliyuncs.com"],

}

后面的地址可写多个,用逗号隔开

镜像加速器 地址
Docker中国官方镜像 https://registry.docker-cn.com
DaoCloud镜像站 http://f1234ngss.m.daocloud.io
科大镜像站 https://docker.mirrors.ustc.edu.cn
阿里云 https://.mirror.aliyuncs.com