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. 容器 eth0veth pairdocker0 网桥 → 宿主机内核 → 物理网卡
  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的信息看加速器地址是否存在

相关推荐
布鲁飞丝1 天前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR1234567881 天前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
HiDev_1 天前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
龙仔7251 天前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
我不管我就要叫小猪1 天前
嵌入式Linux----网络通信
linux·运维·服务器
江湖有缘1 天前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
姜太小白1 天前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php
张忠琳1 天前
【NPU】Ascend Docker Runtime v26.0.1 之二 runtime/process/process.go — 超深度逐行分析
云原生·容器·架构·kubernetes·npu·docker-runtime
fengyehongWorld1 天前
Linux 终端快捷键
linux·运维
看昭奚恤哭1 天前
平滑加权轮询负载均衡的底层逻辑
运维·负载均衡