在 CentOS/Red Hat Linux 中安装 Docker

在 Red Hat Linux 中安装 Docker

在 Red Hat Linux (RHEL) 中安装 Docker 需要一些准备工作,尤其是针对不同版本的系统(如 RHEL 7、8、9)。以下是具体的安装步骤:


步骤 1:检查系统版本

在安装前,确认系统版本和是否已注册订阅(Red Hat Subscription)。

bash 复制代码
cat /etc/redhat-release

如果未订阅 Red Hat,可以使用 CentOS 镜像替代,或者通过 Docker 官方仓库安装。


步骤 2:更新系统软件包

确保系统软件包是最新的。

bash 复制代码
sudo yum update -y

步骤 3:安装依赖包

安装 Docker 所需的依赖包。

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

步骤 4:添加 Docker 官方仓库

运行以下命令添加 Docker 的官方 Yum 仓库:

bash 复制代码
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

RHEL 使用的仓库与 CentOS 兼容,因此使用 CentOS 的 Docker 仓库。


步骤 5:安装 Docker

执行以下命令安装 Docker 社区版 (Docker CE)。

bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io

步骤 6:启动并启用 Docker 服务

安装完成后,启动 Docker 服务并设置开机自启动:

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

检查 Docker 服务是否正常运行:

bash 复制代码
sudo systemctl status docker

步骤 7:验证 Docker 安装

运行以下命令,验证 Docker 是否正确安装:

bash 复制代码
docker version

或者运行一个简单的容器测试:

bash 复制代码
sudo docker run hello-world

额外步骤:配置非 root 用户运行 Docker

如果希望非 root 用户运行 Docker,可以将用户添加到 docker 用户组:

bash 复制代码
sudo usermod -aG docker $USER

重新登录后,运行以下命令确认权限:

bash 复制代码
docker ps

注意事项

  1. RHEL 订阅问题:如果系统需要订阅才能安装软件包,未订阅的用户可以选择使用 CentOS 仓库或手动下载 RPM 包。

  2. 网络配置问题:Docker 安装需要访问 Docker 官方仓库,请确保网络畅通。

  3. SELinux 配置 :RHEL 系统中默认启用 SELinux,可能需要调整策略来兼容 Docker。

    bash 复制代码
    sudo setenforce 0

总结

  • 推荐使用官方仓库进行安装。
  • 确保系统更新并安装依赖包。
  • 安装完成后,启动服务并验证是否正常运行。

相关推荐
orion5711 小时前
Missing Semester Class1:course overview and introduction of shell
linux
程序员老赵17 小时前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
用户1204872216117 小时前
Linux驱动编译与加载
linux·嵌入式
程序员老赵19 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房1 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux