当前位置: 首页 > news >正文

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

前言

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


一、环境要求

  1. 操作系统

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

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

二、安装步骤

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 环境准备
✅ 镜像加速器配置
✅ 权限管理优化
✅ 常见问题排查

后续建议

  1. 学习 Dockerfile 编写自定义镜像
  2. 掌握 docker-compose 多容器编排
  3. 探索 Kubernetes 容器集群管理

相关文章:

  • transformer 规范化层
  • Linux 进程基础(一):冯诺依曼结构
  • Java设计模式实战:策略模式在SimUDuck问题中的应用
  • 使用Fortran读取HDF5数据
  • 若依前后端分离版运行教程、打包教程、部署教程
  • Linux-内核驱动
  • Window 10使用WSL2搭建Linux版Android Studio应用开发环境
  • Redis集群模式学习
  • Kubernetes nodeName Manual Scheduling practice (K8S节点名称绑定以及手工调度)
  • 【高性能缓存Redis_中间件】一、快速上手redis缓存中间件
  • 大型语言模型中的工具调用(Function Calling)技术详解
  • 鸿蒙开发05评论案例分析
  • 基于 Streamlit 的 PDF 编辑器
  • 1558 找素数
  • vue模拟扑克效果
  • AdamW 是 Adam 优化算法的改进版本; warmup_steps:学习率热身的步数
  • Python中NumPy的索引和切片
  • vue 前端遇到问题 样式不展示
  • 常见MQ及类MQ对比:Redis Stream、Redis Pub/Sub、RocketMQ、Kafka 和 RabbitMQ
  • redis大key排查指南
  • 建设一个电商网站的流程图/网上做广告宣传
  • 穆棱市住房和城乡建设局网站/淘宝数据分析
  • 毕业设计做网站答辩/制作链接的app的软件
  • 建设厅质监总站网站/网页代码模板
  • 网站怎么做网上报名/微信scrm系统
  • java网站开发经验/短视频优化