安装Docker基础环境
备份源,换成阿里云的源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
#安装epal源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#禁止防火墙开机自启
systemctl distable firewalld
#关闭防火墙
systemctl stop firewalld
安装docker有一些硬性要求,centos7,内核版本不低于3.10
可用 uname -r查看linux内核版本
在centos平台安装docker,可能会遇到告警信息,修改内核配置参数,打开内核转发功能
开启linux内核的流量转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward=1
EOF
接着执行此文件
sysctl -p /etc/sysctl.d/docker.conf
如果出现以下报错
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: 没有那个文件或目录
那么先执行
modprobe br_netfilter
再执行
sysctl -p /etc/sysctl.d/docker.conf
要利用yum安装docker需要解决源的问题
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
更新缓存
yum clean all && yum makecache
查看源中可用的dockers版本
yum list docker-ce --showduplicates | sort -r
在这里我选择docker-ce-20.10.6
yum install docker-ce-20.10.6 -y
配置镜像加速器
创建docker文件
mkdir -p /etc/docker
touch /etc/docker/daemon.json
编辑文件
vim /etc/docker/daemon.json写入以下内容
{
"registry-mirrors" : [
"https://8xpkSwnt.mirror.aliyuncs.com"
]
}
设置开机自启
systemctl daemon-reload
systemctl enable docker
systemctl restart docker
验证
ps -ef | grep docker
docker version