docker的安装(RHEL9)

1.安装前的准备

docker支持RHEL8-9的所有小版本,且对内核版本也有要求,RHEL 8 ≥ 4.18 ; RHEL 9 ≥ 5.14。7及其更早的版本docker官方不再支持和维护,所以安装前先确定自己的版本(hostnamectl)

2.配置 Docker 阿里云 YUM 源并安装docker

由于Red Hat 官方软件源里,默认不包含 Docker 软件包,你需要使用 Docker 官方提供的 YUM 源。但 Docker 官方源的服务器在国外,国内访问会遇到两个致命问题:

(1)下载速度极慢,甚至直接超时失败

(2)部分地区网络不稳定,无法正常拉取软件包所以,我们才会选择 国内镜像源(阿里云) 来替代。

为了复习一下我之前学的内容,自己特地写了个配置脚本,平时自己做的话不用这样

安装docker:

dnf install docker-ce -y

阿里镜像站地址:
https://developer.aliyun.com/

3.配置内核网络转发

首先我们要知道不管是容器主动访问外网 ,还是外部访问容器(端口映射),流量都必须经过宿主机内核的转发,路径是:

  1. 容器 eth0 → veth pair → docker0 网桥 → 宿主机内核 → 物理网卡
  2. 外部请求 → 物理网卡 → 宿主机内核 → docker0 网桥 → veth pair → 容器 eth0

内核转发配置,就是给这条路径开绿灯,让流量能跨接口转发。

我们安装并启动docker后,它会自动创建一个 名为docker 0的 网桥,所有容器默认连接到这个网桥。

我们先随便运一个镜像就能验证"容器默认都连到了 docker0 网桥"

接着我再开了一个名为test2-docker的镜像,并用"ip link"命令发现,每启动一个默认网络模式的容器,就会多一个 veth 接口挂在 docker0 上。

veth pair是 Linux 内核提供的一种成对的虚拟网络设备,你可以把它理解成一根 "虚拟网线",一头在容器里(eth0),一头在宿主机上(vethxxxx),专门用来打通容器和宿主机之间的网络。举例:

上图我启动了一个名为test-nginx的 容

  • Docker 创建了一对 veth pair:
    • 容器里:eth0,IP 172.17.0.2
    • 宿主机上: veth464be13,挂在 docker0 网桥上
  • 当容器里的 Nginx 要发网络请求时:
    • 数据包从 eth0 发出,通过 veth pair 直接传到宿主机上的 veth464be13
    • 再由 docker0 网桥转发到宿主机内核,最终发到外网

4.配置镜像加速器

由于Docker 默认从国外官方仓库拉镜像(Docker Hub),国内网络访问国外服务器慢、经常超时、拉不下来。所以要配个加速器,以后docker pull xxx的时候会自动在国内的镜像站拉取镜像。

需要先在/etc/docker/ 这个目录下新建一个名为"daemon.json"的文件,这个daemon.json文件默认是没有的,也就是说需要我们在安装docker后自己手动创建。daemon.json是Docker 守护进程的全局配置文件,我们敲的所有 docker 命令,最终都是交给 docker daemon 去执行。

配完后记得重启docker:systemctl restart docker

然后查看docker的信息看加速器地址是否存在

相关推荐
2301_780789662 分钟前
IPv6 洪水猛兽:DDoS 攻击面 3 倍扩张下的精准清洗新战法
运维·安全·web安全·ddos·devops
程序员-Benothing9 小时前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
Mininglamp_27189 小时前
接口调用 vs 屏幕理解:两种 GUI 自动化架构的技术取舍
运维·架构·自动化
爱喝水的鱼丶11 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
木子欢儿12 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..12 小时前
【Linux】文件系统(一)
linux·运维·服务器
天空属于哈夫克312 小时前
企业微信API二次开发 赋能私域运营自动化
运维·自动化·企业微信
天远API13 小时前
零信任架构实战:基于天远运营商二要素V即时版构建自动化分时租赁出行会员身份一致性审核网关
运维·人工智能·架构·自动化
极光通讯13 小时前
液冷服务器对内存和SSD的适配要求:高密度部署下的散热与信号完整性
运维·服务器
2501_9377671614 小时前
面向设计 / 研发部门:终端文件统一归档 + 服务器定时备份实践
运维·安全