2-docker安装
1)安装基础软件包
yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack
2) 安装 docker-ce
#安装 docker-ce 配置 docker-ce 国内 yum 源(阿里云)
yum -y install yum-utils (yum-config-manager命令在yum-utils) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装 docker 依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 安装 docker-ce yum install docker-ce -y #启动 docker 服务 systemctl start docker && systemctl enable docker systemctl status docker
3) 开启包转发功能和修改内核参数
内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开 启转发
modprobe br_netfilter 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 #使参数生效 sysctl -p /etc/sysctl.d/docker.conf 重启后模块失效,下面是开机自动加载模块的脚本 在/etc/新建 rc.sysinit 文件 cat /etc/rc.sysinit #!/bin/bash for file in /etc/sysconfig/modules/*.modules ; do [ -x $file ] && $file done 在/etc/sysconfig/modules/目录下新建文件如下 cat /etc/sysconfig/modules/br_netfilter.modules modprobe br_netfilter 增加权限 chmod 755 /etc/sysconfig/modules/br_netfilter.modules lsmod |grep br_netfilter systemctl restart docker
Docker 安装后出现:WARNING: bridge-nf-call-iptables is disabled 的解决办法:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
将 Linux 系统作为路由或者 VPN 服务就必须要开启 IP 转发功能。
当 linux 主机有多个网卡时一个网卡收 到的信息是否能够传递给其他的网卡 ,
如果设置成 1 的话 可以进行数据包转发,可以实现 VxLAN 等功 能。不开启会导致 docker 部署应用无法访问。