非常好 👍 阿杰。
下面我一步步教你在 Red Hat Enterprise Linux 9(RHEL 9) 上 快速安装 Docker 并部署一个容器应用(示例:Nginx)。
整个过程只需十几分钟,非常适合云端(如阿贝云)服务器的初始化部署笔记使用。
🧭 一、环境说明
项目 | 内容 |
---|---|
操作系统 | Red Hat Enterprise Linux 9.x |
权限要求 | root 或具备 sudo 权限 |
网络要求 | 能访问互联网(Docker 官方仓库) |
演示部署 | Nginx 容器(示例 Web 服务) |
⚙️ 二、安装 Docker(官方推荐方式)
RHEL 9 默认软件源中不包含 Docker,需要使用 Docker 官方仓库(repo)。
1️⃣ 卸载旧版本(如果系统自带 Podman 或 Moby)
sudo dnf remove podman buildah docker docker-engine docker.io -y
💡 RHEL 9 默认使用 Podman(Red Hat 自家的容器工具),但这里我们切换到 Docker。
2️⃣ 添加 Docker 官方仓库
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
3️⃣ 安装 Docker 引擎
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
说明:
docker-ce
是 Docker 引擎docker-ce-cli
是命令行工具containerd.io
是容器运行时docker-compose-plugin
支持 Compose v2
4️⃣ 启动并设置开机自启
sudo systemctl enable --now docker
5️⃣ 检查安装状态
sudo systemctl status docker
出现如下内容表示成功运行:
Active: active (running) since ...
6️⃣ 测试 Docker 是否可用
sudo docker run hello-world
如果输出包含:
“Hello from Docker!”
就代表 Docker 引擎安装成功 ✅
🚀 三、部署一个示例容器(以 Nginx 为例)
1️⃣ 拉取镜像
sudo docker pull nginx
2️⃣ 运行容器
sudo docker run -d -p 80:80 --name my-nginx nginx
参数解释:
参数 | 说明 |
---|---|
-d | 后台运行容器 |
-p 80:80 | 映射宿主机端口 80 到容器内部端口 80 |
--name my-nginx | 给容器命名为 my-nginx |
3️⃣ 查看容器状态
sudo docker ps
输出示例:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES
1a2b3c4d5e6f nginx ... Up 0.0.0.0:80->80/tcp my-nginx
4️⃣ 测试访问
在浏览器或命令行中访问云服务器的 IP:
http://<你的服务器公网IP>
看到 “Welcome to nginx!” 即部署成功 🎉
🛠️ 四、常用 Docker 命令速查表
操作 | 命令 |
---|---|
启动 Docker | sudo systemctl start docker |
停止 Docker | sudo systemctl stop docker |
查看容器列表 | sudo docker ps -a |
停止容器 | sudo docker stop my-nginx |
启动容器 | sudo docker start my-nginx |
删除容器 | sudo docker rm my-nginx |
删除镜像 | sudo docker rmi nginx |
查看日志 | sudo docker logs my-nginx |
🔒 五、防火墙与安全组设置(若网页访问不了)
若你在云端(如阿贝云)使用 RHEL 9,需要确认端口 80 已放行。
在系统中放行端口:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
在云服务商控制台放行:
如果服务器有安全组(Security Group)规则,也要在控制台里打开端口 80。
💡 六、可选:部署自己的应用容器
你可以把上面的 Nginx 替换为任意 Web 服务,例如:
- Flask / FastAPI(Python)
- Node.js / Express
- Spring Boot(Java)
- Redis / MySQL / PostgreSQL 等数据库容器
例如部署 Python Flask:
sudo docker run -d -p 5000:5000 --name flask-demo tiangolo/uwsgi-nginx-flask:python3.8
✅ 七、总结
步骤 | 内容 |
---|---|
1 | 添加 Docker 官方仓库 |
2 | 安装并启动 Docker |
3 | 运行测试镜像 |
4 | 部署 Nginx 服务 |
5 | 开放防火墙端口 |
6 | 可替换部署自定义服务 |
发表回复