CentOS 7.6 安装 Docker 这事网上教程一抓一大把但说实话多数教程就是让你直接yum install docker装上就完事了。真正到了生产环境你会发现事情没那么简单内核版本够不够格、yum 源用的是官方还是国内镜像、装完之后容器起不来怎么排查、镜像加速到底配哪个……这些细节不搞清楚装完也是带病上路。我自己在维护那几台 CentOS 7.6 服务器时踩过不少坑也帮同事处理过好几次装上 Docker 但跑不起来的问题。这篇就把完整流程和踩坑经验一次性讲清楚从安装前的系统体检到日常维护、升级策略都覆盖到。适合刚入门的小白照着一步步操作也适合已经在用但想排查问题、优化配置的朋友直接跳到对应章节。1. 安装前的系统体检内核版本、依赖与网络环境1.1 先确认系统和内核版本很多人装 Docker 之前根本不看内核版本装上之后各种问题回头还怪 Docker 不稳定。CentOS 7.6 默认内核是 3.10.0-957这个版本其实已经能满足 Docker 的基本要求——Docker 官方要求 CentOS 7 的内核最低是 3.10。但这里有个容易被忽略的细节内核版本和内核模块、驱动之间有连带关系检查的时候不能只看大版本号还要看有没有 overlayfs、iptables 相关的模块。我建议在动手之前先把这几条命令跑一遍cat /etc/centos-release uname -r输出结果示例CentOS Linux release 7.6.1810 (Core) 3.10.0-957.el7.x86_64如果uname -r显示的内核版本低于 3.10.0-957说明系统内核可能被降级过或者装的是精简版系统先解决内核问题再来装 Docker。还有一种情况是 CentOS 7.6 跑在虚拟机里比如某云主机或者虚拟化平台这种情况下内核来自宿主机的虚拟化驱动配合大概率没问题但建议顺手确认下cat /proc/filesystems | grep overlayfs没有输出也没关系Docker 安装过程中会自动加载需要的模块。这一步只是心里有个底知道自己的系统处于什么状态。1.2 检查网络与 DNS 配置Docker 安装和运行都要联网拉取镜像yum 安装包也需要从配置的仓库下载。网络问题的排查通常比你想的更频繁。检查网络时别只看能不能 ping 通外网要实测一下仓库域名能不能解析、能不能连通ping -c 3 aliyuncs.com curl -I https://mirrors.aliyun.com/docker-ce/我遇到过一种情况服务器能上外网但解析download.docker.com特别慢偶尔还超时。这是因为部分云环境或者企业内网的 DNS 对境外域名解析不稳定。这时候要么改 DNS要么直接换国内镜像源——后者通常更省事后面会详细讲。另外检查一下 SELinux 和防火墙状态。SELinux 对 Docker 的影响经常被忽略CentOS 7 上 Docker 对 SELinux 的兼容已经算不错了官方推荐是保持 SELinux 开启但如果你对 SELinux 不熟悉生产环境又急着用可以先临时设为 permissive 再装。防火墙方面如果用默认的 firewalld装完 Docker 之后要放行容器的端口映射范围或者至少放行常用端口systemctl status firewalld getenforce这两条命令确认状态就够了不用急着改后面遇到具体问题再对症处理。1.3 清理历史残留版本如果这台机器之前装过 Docker 或者类似容器运行时一定要先清理干净再重装否则很容易出现二进