Red Hat Enterprise Linux 9.7 离线部署docker 及 docker compose
下面给出在 Red Hat Enterprise Linux 9.7 上的完整操作流程,包括:
-
关闭 SELinux
-
离线安装 Docker
-
离线安装 Docker Compose
整个流程适合 完全离线环境(无法访问互联网)。
一、关闭 SELinux
1 临时关闭(立即生效)
setenforce 0
检查状态:
getenforce
如果返回:
Permissive
说明已临时关闭。
2 永久关闭
编辑配置文件:
vi /etc/selinux/config
修改:
SELINUX=disabled
原始可能是:
SELINUX=enforcing
保存后 重启系统:
reboot
验证:
getenforce
输出应为:
Disabled
二、准备 Docker 离线安装包
需要从一台 可以联网的 Linux 机器 下载以下 RPM:
Docker 在 RHEL9 需要这些包:
docker-ce
docker-ce-cli
containerd.io
docker-buildx-plugin
docker-compose-plugin
官方下载地址:
https://download.docker.com/linux/centos/9/x86_64/stable/Packages/
说明:
虽然是 CentOS 路径,但 RHEL9 完全兼容。
推荐下载版本(稳定)
例如:
containerd.io
docker-ce
docker-ce-cli
docker-buildx-plugin
docker-compose-plugin
下载示例:
wget https://download.docker.com/linux/centos/9/x86_64/stable/Packages/containerd.io-*.rpm
wget https://download.docker.com/linux/centos/9/x86_64/stable/Packages/docker-ce-*.rpm
wget https://download.docker.com/linux/centos/9/x86_64/stable/Packages/docker-ce-cli-*.rpm
wget https://download.docker.com/linux/centos/9/x86_64/stable/Packages/docker-buildx-plugin-*.rpm
wget https://download.docker.com/linux/centos/9/x86_64/stable/Packages/docker-compose-plugin-*.rpm
然后打包:
tar czvf docker-rhel9.tar.gz *.rpm
拷贝到离线服务器。
三、离线安装 Docker
进入 RPM 目录:
cd /root/docker-rpm
安装:
dnf install -y *.rpm
如果没有 dnf repo:
rpm -ivh *.rpm
推荐:
dnf install *.rpm
dnf 会自动处理依赖。
四、启动 Docker
安装完成后:
启动:
systemctl start docker
设置开机启动:
systemctl enable docker
查看状态:
systemctl status docker
五、验证 Docker
docker version
示例输出:
Client: Docker Engine
Server: Docker Engine
测试:
docker info
六、Docker Compose
RHEL9 推荐使用 docker compose plugin。
验证:
docker compose version
如果正常:
Docker Compose version v2.x
使用方法:
docker compose up -d
注意:
RHEL9 不再推荐旧命令:
docker-compose
而是:
docker compose
七、常见离线依赖问题
RHEL9 可能缺少:
libcgroup
iptables
container-selinux
如果安装报错,需要额外下载:
container-selinux
下载地址:
https://rpmfind.net/linux/rpm2html/search.php?query=container-selinux
八、生产环境建议配置
编辑:
vi /etc/docker/daemon.json
推荐:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"storage-driver": "overlay2"
}
重启:
systemctl restart docker
九、开放 Docker API(如果需要)
Docker 默认端口:
2375
2376
如果使用 firewalld:
firewall-cmd --permanent --add-port=2375/tcp
firewall-cmd --reload
十、验证容器运行
导入测试镜像(离线):
docker load -i nginx.tar
运行:
docker run -d -p 80:80 nginx
查看:
docker ps
十一、运维经验(RHEL9 + Docker)
生产服务器建议:
1️⃣ 关闭 SELinux 或设为 permissive
2️⃣ 使用 overlay2 存储驱动
3️⃣ /var/lib/docker 单独磁盘
4️⃣ 开启日志轮转
5️⃣ 防火墙限制 docker API
💡 如果需要,我可以再给你一份 “RHEL9 Docker 完整离线安装包结构”(企业运维常用),特点:
-
只需一个 tar 包
-
解压后一条命令安装
-
自动解决所有依赖
-
支持 docker + compose + buildx
很多数据中心离线部署都是这种方式。
No Comments