Linux上centOS7安装docker1. 系统环境检查与准备‌检查内核版本‌Docker 要求 CentOS 7 的内核版本至少为 ‌3.10uname -r如果输出低于 3.10如 2.6.x则无法直接安装 Docker建议升级内核或更换操作系统。检查系统架构‌必须是 ‌64位‌ 系统。uname -m输出应为x86_64。‌更新系统包可选但推荐‌sudo yum update -y2. 卸载旧版本 Docker如果系统中曾安装过旧版本的 Docker通常名为docker或docker-engine需要先卸载以避免冲突。sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ docker-selinux \ docker-engine-selinux注意如果之前安装过较新的 Docker CE 版本可能还需要卸载docker-ce、docker-ce-cli和containerd.io。3. 配置 Yum 源由于 CentOS 7 已 EOL默认的 base 源可能不可用。如果遇到“Cannot find a valid baseurl”错误需先切换至阿里云 Vault 源然后添加 Docker 官方源。A. 修复 CentOS 基础源如果 yum 报错sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-7.repoB. 安装依赖工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2yum-utils提供yum-config-manager工具。device-mapper-persistent-data和lvm2Docker 存储驱动devicemapper所需的依赖。C. 添加 Docker 官方仓库‌方案一使用阿里云镜像源推荐速度快sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo‌方案二使用 Docker 官方源sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo4. 安装 Docker Engine安装最新版本sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin注新版 Docker 将 Compose 作为插件集成因此安装docker-compose-plugin后可直接使用docker compose命令。安装指定版本可选如果需要安装特定版本例如为了生产环境稳定性可以先查看可用版本yum list docker-ce --showduplicates | sort -r然后指定版本安装例如版本 24.0.7sudo yum install -y docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io5. 启动 Docker 并设置开机自启安装完成后启动 Docker 服务并设置为开机自动启动。# 启动 Docker sudo systemctl start docker # 设置开机自启 sudo systemctl enable docker # 验证状态 sudo systemctl status docker6. 验证安装运行以下命令检查 Docker 是否正常运行。如果安装成功将显示 Client 和 Server 的版本信息。docker version运行测试容器hello-world来验证功能sudo docker run hello-world如果看到 Hello from Docker! 的消息说明安装成功7. 配置镜像加速器推荐由于 Docker Hub 在国内访问较慢建议配置镜像加速器如阿里云、腾讯云或中科大。创建或编辑配置文件/etc/docker/daemon.jsonsudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [ https://docker.xuanyuan.me, https://docker.1ms.run, https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com, https://mirror.iscas.ac.cn, https://docker.mirrors.sjtug.sjtu.edu.cn, https://mirrors.tencent.com/dockerhub/, https://reg-mirror.qiniu.com, https://cr.console.aliyun.com ] } EOF(注以上镜像地址为示例请替换为你实际可用的加速器地址如阿里云提供的专属地址)重载配置并重启 Dockersudo systemctl daemon-reload sudo systemctl restart docker验证配置是否生效docker info在输出末尾查找Registry Mirrors字段确认包含你配置的地址。常见问题排查‌权限问题‌默认情况下只有 root 用户或docker组的成员可以运行 Docker 命令。如果想让普通用户免 sudo 运行可将用户加入 docker 组sudo usermod -aG docker $USER执行后需注销并重新登录才能生效。‌防火墙问题‌如果容器间网络通信异常可能需要配置防火墙规则或暂时关闭防火墙进行测试sudo systemctl stop firewalld sudo systemctl disable firewalld