docker安装
服务器准备:
主机:10.0.0.108
操作系统:Centos7.6-centos7.9
规格:4Gib/4vCPU
1、服务器环境准备
配置主机名:
[root@docker ~]# hostnamectl set-hostname docker && bash
关闭防火墙
[root@docker ~]# systemctl stop firewalld && systemctl disable firewalld
关闭 iptables 防火墙
[root@docker ~]# yum install iptables-services -y #安装 iptables
禁用 iptables
root@docker ~]# service iptables stop && systemctl disable iptables
清空防火墙规则
[root@docker~]# iptables -F
关闭 selinux
[root@docker ~]# setenforce 0
[root@docker ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
注意:修改 selinux 配置文件之后,重启机器,selinux 才能永久生效
[root@docker ~]# getenforce
显示 Disabled 表示 selinux 关闭成功
#配置时间同步
[root@docker ~]# yum install -y ntp ntpdate
[root@docker ~]# ntpdate cn.pool.ntp.org
#编写计划任务
[root@docker ~]# crontab -e
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
重启 crond 服务使配置生效:
[root@docker ~]# systemctl restart crond
2、安装基础软件包
[root@docker ~]# 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
3、安装 docker-ce
配置 docker-ce 国内 yum 源(阿里云)
[root@docker ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 docker 依赖包
[root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
安装 docker-ce
[root@docker ~]# yum install docker-ce -y
#启动 docker 服务
[root@docker ~]# systemctl start docker && systemctl enable docker
[root@docker ~]# systemctl status docker
![](https://img2020.cnblogs.com/blog/2536301/202111/2536301-20211110152318741-1173712655.png)
看到 running,表示 docker 正常运行
#查看 Docker 版本信息
[root@docker ~]# docker version
4、开启包转发功能和修改内核参数
内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开启转发。
[root@docker ~]# modprobe br_netfilter
[root@docker ~]# 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
#使参数生效
[root@docker ~]# 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
增加权限
[root@docker ~]# chmod 755 /etc/sysconfig/modules/br_netfilter.modules
重启机器模块也会自动加载
[root@docker ~]# lsmod |grep br_netfilter
br_netfilter 22209 0
bridge 136173 1 br_netfilter
注:
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 部署应用无法访问。
#重启 docker
[root@docker ~]# systemctl restart docker
5、配置 docker 镜像加速器
登陆阿里云镜像仓库
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
如果没有开通,可开通阿里云的镜像服务
![](https://img2020.cnblogs.com/blog/2536301/202111/2536301-20211110153204820-112053648.png)
找到镜像加速器,然后按照箭头方向操作修改/etc/docker/daemon.json,变成如下
{
"registry-mirrors":["https://y8y6vosv.mirror.aliyuncs.com","https://registry.docker
cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub
mirror.c.163.com"]
}
让配置文件生效
sudo systemctl daemon-reload
sudo systemctl restart docker
![](https://img2020.cnblogs.com/blog/2536301/202111/2536301-20211110153423092-1327601105.png)