☰
CentOS 7.9安装Docker完整指南与常见问题解决
2026/10/29 11:44:43 网站建设 项目流程

1. 环境准备与系统检查

在CentOS 7.9系统上安装Docker前,需要确保系统环境满足基本要求。我通常会先执行以下检查步骤:

  1. 确认系统版本:
cat /etc/redhat-release

预期输出应显示"CentOS Linux release 7.9.2009"或类似版本信息。

  1. 检查内核版本(需3.10或更高):
uname -r
  1. 验证yum源可用性:
yum repolist

重要提示:如果系统是新安装的,建议先执行yum update -y更新所有软件包。我在实际运维中发现,未更新的系统经常会出现依赖冲突问题。

2. 卸载旧版本Docker

即使系统没有安装过Docker,执行清理操作也是个好习惯。以下是完整的清理流程:

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

然后手动删除残留文件和目录:

sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

3. 安装必要工具包

CentOS 7需要先安装基础工具集:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

这些工具的作用分别是:

  • yum-utils:提供yum-config-manager等实用工具
  • device-mapper-persistent-data和lvm2:Docker存储驱动依赖

4. 设置Docker仓库

官方推荐使用仓库安装而非rpm包,便于后续升级:

  1. 添加官方仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. (可选)启用edge和test仓库:
sudo yum-config-manager --enable docker-ce-edge sudo yum-config-manager --enable docker-ce-test

国内用户建议配置镜像加速,后文会专门说明。

5. 安装Docker引擎

现在可以正式安装Docker了:

sudo yum install -y docker-ce docker-ce-cli containerd.io

如果要安装特定版本(比如20.10.7):

sudo yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io

查看可用版本列表:

yum list docker-ce --showduplicates | sort -r

6. 启动并验证Docker

安装完成后需要启动服务:

sudo systemctl start docker sudo systemctl enable docker

验证安装是否成功:

sudo docker run hello-world

预期会看到欢迎信息和Docker的基本说明。

7. 配置镜像加速(国内用户)

国内访问Docker Hub速度较慢,建议配置镜像加速器:

  1. 创建或修改daemon.json:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://<你的镜像加速地址>.mirror.aliyuncs.com"] } EOF
  1. 重新加载配置:
sudo systemctl daemon-reload sudo systemctl restart docker

8. 非root用户权限配置

默认需要sudo才能执行docker命令,可以通过以下方式让普通用户直接使用:

sudo usermod -aG docker $USER

然后需要重新登录使配置生效。

9. 常见问题排查

9.1 启动失败:内核不支持

如果遇到"Your kernel does not support cgroup..."错误,说明内核版本太旧。解决方案:

  1. 升级内核:
sudo yum install -y kernel-lt
  1. 修改grub配置后重启:
sudo grub2-set-default 0 sudo reboot

9.2 存储驱动问题

如果/dev/mapper空间不足,可以修改存储驱动为overlay2:

sudo tee /etc/docker/daemon.json <<-'EOF' { "storage-driver": "overlay2" } EOF

9.3 防火墙配置

如果容器网络不通,可能需要调整防火墙规则:

sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0 sudo firewall-cmd --permanent --zone=trusted --add-port=4243/tcp sudo firewall-cmd --reload

10. 后续维护建议

  1. 定期清理无用镜像和容器:
docker system prune -a
  1. 监控磁盘使用情况:
docker system df
  1. 升级Docker版本:
sudo yum update docker-ce

在实际生产环境中,我建议将Docker数据目录迁移到独立分区,避免系统盘被日志和镜像占满。可以通过修改daemon.json中的"data-root"配置实现。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询