Linux下Docker安装超详细教程(以CentOS为例)

前言

Docker 已成为现代应用开发和部署的标配工具。本教程将手把手教你 在 CentOS 系统上安装 Docker,涵盖从环境准备到验证安装的全流程,并解决常见问题。无论你是运维工程师还是开发者,均可快速上手。


一、环境要求

  1. 操作系统

    • CentOS 7 或更高版本(64 位)
    • 推荐内核版本 ≥ 3.10(检查命令:uname -r
  2. 依赖工具

    • yum 包管理器(默认已安装)
    • curlwget(用于下载文件)

二、安装步骤

1. 卸载旧版本 Docker(如有)

bash 复制代码
sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. 安装依赖工具

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3. 添加 Docker 官方仓库

bash 复制代码
# 使用官方源(国际网络)
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 引擎

bash 复制代码
# 安装最新稳定版
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 并设置开机自启

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

三、验证安装

1. 检查 Docker 版本

bash 复制代码
docker --version
# 输出示例:Docker version 20.10.17, build 100c701

2. 运行测试容器

bash 复制代码
sudo docker run hello-world

若看到 Hello from Docker! 提示,说明安装成功。


四、配置镜像加速器(国内必做)

1. 创建配置文件

bash 复制代码
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 生效

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

五、管理 Docker 权限

1. 允许非 root 用户操作 Docker

bash 复制代码
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 退出终端重新登录生效

2. 验证非 root 权限

bash 复制代码
docker ps
# 若无权限错误,则配置成功

六、常见问题解决

1. 网络问题导致无法拉取镜像

症状
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled

解决方案

  • 检查镜像加速器配置

  • 临时关闭防火墙:

    bash 复制代码
    sudo systemctl stop firewalld

2. 容器启动报权限错误

症状
Permission denied while trying to connect to the Docker daemon socket

解决方案

  • 确保用户已加入 docker

  • 重启 Docker 服务:

    bash 复制代码
    sudo systemctl restart docker

3. yum 安装时报仓库错误

症状
Cannot find a valid baseurl for repo: docker-ce-stable

解决方案

  • 检查仓库配置路径

  • 更换为阿里云仓库:

    bash 复制代码
    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 环境准备

✅ 镜像加速器配置

✅ 权限管理优化

✅ 常见问题排查

后续建议

  1. 学习 Dockerfile 编写自定义镜像
  2. 掌握 docker-compose 多容器编排
  3. 探索 Kubernetes 容器集群管理
相关推荐
q***04631 小时前
Linux环境下Tomcat的安装与配置详细指南
linux·运维·tomcat
好奇的菜鸟1 小时前
在 WSL 中安装 Docker
运维·docker·容器
BD_Marathon1 小时前
【Zookeeper】监听器原理
linux·分布式·zookeeper
杨浦老苏1 小时前
AI驱动的图表生成器Next-AI-Draw.io
人工智能·docker·ai·群晖·draw.io
稚辉君.MCA_P8_Java2 小时前
Gemini永久会员 快速排序(Quick Sort) 基于分治思想的高效排序算法
java·linux·数据结构·spring·排序算法
x***44012 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
正在努力的小河2 小时前
Linux 块设备驱动实验
linux·运维·服务器
代码游侠3 小时前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
j***49563 小时前
Linux(CentOS)安装 Nginx
linux·nginx·centos
xuanzdhc3 小时前
Gitgit
java·linux·运维·服务器·c++·git