前言
Docker 已成为现代应用开发和部署的标配工具。本教程将手把手教你 在 CentOS 系统上安装 Docker,涵盖从环境准备到验证安装的全流程,并解决常见问题。无论你是运维工程师还是开发者,均可快速上手。
一、环境要求
操作系统
- CentOS 7 或更高版本(64 位)
- 推荐内核版本 ≥ 3.10(检查命令:
uname -r
)
依赖工具
yum
包管理器(默认已安装)curl
或wget
(用于下载文件)
二、安装步骤
1. 卸载旧版本 Docker(如有)
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装依赖工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加 Docker 官方仓库
# 使用官方源(国际网络)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 或使用阿里云镜像加速(国内推荐)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 安装 Docker 引擎
# 安装最新稳定版
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 或安装指定版本(例如 20.10.17)
sudo yum install -y docker-ce-20.10.17 docker-ce-cli-20.10.17 containerd.io
5. 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
三、验证安装
1. 检查 Docker 版本
docker --version
# 输出示例:Docker version 20.10.17, build 100c701
2. 运行测试容器
sudo docker run hello-world
若看到 Hello from Docker!
提示,说明安装成功。
四、配置镜像加速器(国内必做)
1. 创建配置文件
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
EOF
2. 重启 Docker 生效
sudo systemctl daemon-reload
sudo systemctl restart docker
五、管理 Docker 权限
1. 允许非 root 用户操作 Docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 退出终端重新登录生效
2. 验证非 root 权限
docker ps
# 若无权限错误,则配置成功
六、常见问题解决
1. 网络问题导致无法拉取镜像
症状:
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled
解决方案:
- 检查镜像加速器配置
- 临时关闭防火墙:
sudo systemctl stop firewalld
2. 容器启动报权限错误
症状:
Permission denied while trying to connect to the Docker daemon socket
解决方案:
- 确保用户已加入
docker
组 - 重启 Docker 服务:
sudo systemctl restart docker
3. yum 安装时报仓库错误
症状:
Cannot find a valid baseurl for repo: docker-ce-stable
解决方案:
- 检查仓库配置路径
- 更换为阿里云仓库:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
七、附录:常用 Docker 命令速查
命令 | 作用 |
---|---|
docker ps |
查看运行中的容器 |
docker images |
列出本地镜像 |
docker rmi <镜像ID> |
删除镜像 |
docker stop <容器ID> |
停止容器 |
docker logs <容器ID> |
查看容器日志 |
八、总结
通过本教程,你已经完成了:
✅ Docker 环境准备
✅ 镜像加速器配置
✅ 权限管理优化
✅ 常见问题排查
后续建议:
- 学习
Dockerfile
编写自定义镜像 - 掌握
docker-compose
多容器编排 - 探索 Kubernetes 容器集群管理