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

发布于:2025-04-13 ⋅ 阅读:(18) ⋅ 点赞:(0)

前言

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 容器集群管理

网站公告

今日签到

点亮在社区的每一天
去签到