Docker安装前须确认内核≥3.10、使用systemd、为64位架构;需配置匹配发行版的镜像源,添加docker用户组并重启服务,且必须配置/etc/docker/daemon.json镜像加速器后重启docker。

安装前先确认系统是否满足最低要求
Docker 要求 Linux 内核版本 ≥ 3.10,低于这个版本会直接启动失败或报 kernel too old 错误。运行 uname -r 查看当前内核,若输出如 2.6.32-754.el6.x86_64(CentOS 6)则无法安装 Docker CE,必须升级系统或换用 Podman 等替代方案。
另外,systemd 是必需的初始化系统;CentOS/RHEL 6、Ubuntu 14.04 等使用 upstart 或 sysvinit 的旧系统不被官方支持,强行安装可能导致服务无法管理。
- 检查内核:
uname -r - 检查 init 系统:
ps -p 1 -o comm=—— 输出应为systemd - 确认 CPU 架构:
dpkg --print-architecture(Debian/Ubuntu)或uname -m(RHEL/CentOS),Docker CE 不支持 32 位 x86(i386)或 ARMv7 以下架构
用包管理器安装时,仓库源配置是最大故障点
官方默认源(https://download.docker.com/linux/...)在国内直连经常超时或重置连接,表现为 yum install 卡住、apt update 报 Failed to fetch 或 curl#35 - "TCP connection reset by peer"。这不是网络问题,而是源服务器主动拒绝了来自国内 IP 段的请求。
正确做法是替换为可信镜像源,且必须和你的发行版版本严格匹配:
- CentOS 7 / RHEL 7:用
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo - Ubuntu 22.04:用清华源:
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list - 切勿混用源:比如在 CentOS 8 上用 CentOS 7 的 repo 地址,会导致
No package docker-ce available - 添加源后务必执行
sudo yum makecache fast(RHEL系)或sudo apt update(Debian系),否则包管理器根本“看不见”新源里的包
装完必须做三件事,否则普通用户无法运行容器
docker run hello-world 报 Permission denied while trying to connect to the Docker daemon socket 是最常见权限错误。这是因为 Docker 守护进程监听的 Unix socket(/var/run/docker.sock)默认只对 root 和 docker 组用户开放。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 创建
docker组:sudo groupadd docker(若已存在则忽略) - 把当前用户加进组:
sudo usermod -aG docker $USER(注意:不是sudo usermod -aG docker root) - 重新登录终端或运行
newgrp docker刷新组权限 —— 否则docker ps仍会失败 - 验证:
id -nG应输出包含docker;docker info | grep "Default Runtime"有输出即成功
不配镜像加速,拉取镜像基本等于“挂起”
国内直接访问 docker.io 或 registry-1.docker.io 的延迟常超 30 秒,docker pull nginx 可能卡在 Waiting 状态数分钟,甚至最终超时退出。这不是 Docker 本身的问题,而是网络策略导致的。
必须手动配置镜像加速器,且仅修改 /etc/docker/daemon.json 文件:
- 确保该文件存在且格式合法(JSON):
sudo mkdir -p /etc/docker && sudo touch /etc/docker/daemon.json - 写入加速地址(选一个即可):
腾讯云:{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}
阿里云(需登录容器镜像服务控制台获取专属地址,形如https://xxx.mirror.aliyuncs.com) - 保存后必须重启守护进程:
sudo systemctl restart docker;仅 reload 不生效 - 验证是否生效:
sudo docker info | grep "Registry Mirrors"应有输出
镜像加速只影响 pull 和 push,不影响本地构建或容器运行。如果跳过这步,后续所有镜像操作都会异常缓慢,且容易被误判为 Docker 安装失败。










