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 容器集群管理
相关推荐
M78佐菲2 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx2 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BullSmall3 小时前
第三方软件安全-Dependency‑Track Docker 部署
安全·docker·容器
不怕犯错,就怕不做3 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
harmony&3 小时前
Docker 容器技术从入门到实战:容器、网络、存储与监控全解析
docker·云原生
一池秋_4 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇5 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
IT大白鼠6 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
闲云野鹤在人间7 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
我命由我123457 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime