Docker Engine 在 CentOS 系统上的安装指南

Docker Engine 在 CentOS 系统上的安装指南

【免费下载链接】docs Source repo for Docker's Documentation 【免费下载链接】docs 项目地址: https://gitcode.com/gh_mirrors/docs3/docs

还在为在 CentOS 系统上安装 Docker Engine 而烦恼吗?本文将为你提供最完整的安装指南,涵盖多种安装方式、详细步骤和常见问题解决方案,让你轻松上手容器化技术。

通过阅读本文,你将获得:

  • ✅ 三种 Docker Engine 安装方法的详细步骤
  • ✅ 系统要求和环境准备检查清单
  • ✅ 安装后的验证和配置指南
  • ✅ 常见问题排查和解决方案
  • ✅ 最佳实践和安全建议

系统要求与环境准备

操作系统要求

在开始安装之前,请确保你的系统满足以下最低要求:

要求项详细说明
CentOS 版本CentOS 9 (stream) 或更高版本
存储库centos-extras 仓库必须启用(默认已启用)
架构x86_64/amd64 架构
内存至少 2GB RAM(推荐 4GB+)
磁盘空间至少 10GB 可用空间

卸载旧版本

为避免冲突,请先卸载任何非官方的 Docker 包:

sudo dnf remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-engine

安装方法对比

根据你的需求,可以选择以下三种安装方式:

mermaid

方法一:使用官方仓库安装(推荐)

步骤 1:设置 Docker 仓库

首先安装必要的工具并添加 Docker 官方仓库:

# 安装 dnf 插件管理工具
sudo dnf -y install dnf-plugins-core

# 添加 Docker 官方仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

步骤 2:安装 Docker Engine

根据你的需求选择安装最新版本或特定版本:

{{< tabs >}} {{< tab name="安装最新版本" >}}

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装过程中如果提示接受 GPG 密钥,请验证指纹是否匹配: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35

{{< /tab >}} {{< tab name="安装特定版本" >}}

# 查看可用版本
dnf list docker-ce --showduplicates | sort -r

# 安装指定版本(替换<VERSION_STRING>)
sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

{{< /tab >}} {{< /tabs >}}

步骤 3:启动并验证 Docker

# 启用并启动 Docker 服务
sudo systemctl enable --now docker

# 验证安装是否成功
sudo docker run hello-world

如果看到欢迎消息,说明安装成功!

方法二:手动 RPM 包安装

适用于无法访问互联网的环境:

# 1. 下载 RPM 包(从官网下载对应版本)
# 2. 手动安装
sudo dnf install /path/to/docker-package.rpm

# 3. 启动服务
sudo systemctl enable --now docker

# 4. 验证安装
sudo docker run hello-world

方法三:使用便捷脚本安装

仅推荐用于测试和开发环境:

# 下载并运行安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

安装后配置

添加用户到 docker 组

为了避免每次使用 sudo,可以将用户添加到 docker 组:

# 创建 docker 组(如果不存在)
sudo groupadd docker

# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER

# 重新登录使更改生效
newgrp docker

验证非 root 用户权限

# 测试无需 sudo 运行 Docker
docker run hello-world

常见问题排查

问题 1:权限被拒绝

# 错误信息:Got permission denied while trying to connect to the Docker daemon socket
sudo usermod -aG docker $USER
newgrp docker

问题 2:服务启动失败

# 查看 Docker 服务状态
sudo systemctl status docker

# 查看详细日志
sudo journalctl -u docker.service

问题 3:镜像下载缓慢

# 配置国内镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
sudo systemctl restart docker

安全最佳实践

1. 定期更新

# 检查可用更新
sudo dnf check-update

# 更新 Docker
sudo dnf update docker-ce docker-ce-cli containerd.io

2. 安全配置

# 限制容器权限
docker run --read-only --security-opt=no-new-privileges your-image

# 使用非 root 用户运行容器
docker run -u 1000:1000 your-image

3. 监控和日志

# 查看容器日志
docker logs <container_id>

# 监控资源使用情况
docker stats

升级 Docker Engine

使用仓库升级

# 更新仓库信息
sudo dnf update

# 升级 Docker
sudo dnf upgrade docker-ce docker-ce-cli containerd.io

手动包升级

# 下载新版本 RPM 包
# 使用 upgrade 而不是 install
sudo dnf upgrade /path/to/new-package.rpm

卸载 Docker Engine

如果需要完全卸载 Docker:

# 卸载 Docker 包
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 删除数据(谨慎操作!)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

下一步行动

安装完成后,建议继续:

  1. 学习基本操作:掌握 docker rundocker psdocker images 等命令
  2. 尝试 Docker Compose:学习多容器应用管理
  3. 探索容器网络:了解 Docker 网络模式和配置
  4. 实践镜像构建:学习编写 Dockerfile 和构建自定义镜像

总结

通过本指南,你已经掌握了在 CentOS 系统上安装 Docker Engine 的完整流程。无论选择哪种安装方式,都要记得:

  • 🔧 定期更新保持系统安全
  • 🔒 遵循安全最佳实践
  • 📊 监控容器资源使用情况
  • 🐳 持续学习 Docker 生态

现在就开始你的容器化之旅吧!如果在安装过程中遇到任何问题,可以参考官方文档或社区支持。

【免费下载链接】docs Source repo for Docker's Documentation 【免费下载链接】docs 项目地址: https://gitcode.com/gh_mirrors/docs3/docs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值