Linux上centOS7安装docker:
1. 系统环境检查与准备
检查内核版本:Docker 要求 CentOS 7 的内核版本至少为 3.10
uname -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和lvm2:Docker 存储驱动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.7):
sudo 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.json:
sudo 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(注:以上镜像地址为示例,请替换为你实际可用的加速器地址,如阿里云提供的专属地址)
重载配置并重启 Docker:
sudo 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