欢迎光临
我们一直在努力

Linux 系统(CentOS/Ubuntu)Docker 安装全流程详解

前言:前面我们已经搞懂了Docker CE/EE版本的选型逻辑(新手/企业非核心业务选CE,企业核心业务选EE),现在聚焦实操——Linux是Docker原生支持的系统,CentOS和Ubuntu又是最主流的两个发行版,掌握这两个系统的Docker CE安装流程,能覆盖90%以上的Linux环境实操场景。

本文全程新手友好,逐行拆解安装命令,标注每个命令的作用和注意事项,同时区分CentOS 7/8、Ubuntu 18.04/20.04/22.04的细微差异,补充安装后验证、常见报错解决方法,让你跟着复制命令就能完成安装,零基础也能上手!

建议收藏+关注,跟着Docker系列教程,从选型到实操,一步步落地,彻底打通“懂理论→会实操”的闭环!

一、安装前必看:通用准备工作(CentOS/Ubuntu都适用)

安装前先完成3个核心准备,避免后续报错,这是新手最容易忽略但最关键的步骤:

  • 确认系统符合前置要求(回顾前文):

  • 系统架构:64位(执行uname -m,输出x86_64即符合);

  • 内核版本:CentOS ≥3.10、Ubuntu ≥4.15(执行uname -r查看);

  • 关闭防火墙/SELinux(新手安装时临时关闭,生产环境可后续配置规则)。

  • 卸载旧版本Docker(避免冲突):

  • 若之前安装过Docker旧版本,先执行卸载命令,无旧版本则跳过(执行后无报错即可)。

  • 确保网络通畅:Docker安装需要从官方仓库下载依赖,国内用户建议后续配置镜像加速器。

  • 二、CentOS系统(7/8)Docker CE安装全流程(命令逐行拆解)

    CentOS 7和8的安装流程基本一致,仅部分依赖包名称略有差异,下面分步骤讲解,每个命令都标注作用。

    步骤1:卸载旧版本(可选,建议执行)

    # 卸载旧版本Docker(包含docker、docker-engine、docker.io等) sudo yum remove docker \\ docker-client \\ docker-client-latest \\ docker-common \\ docker-latest \\ docker-latest-logrotate \\ docker-logrotate \\ docker-engine

    命令作用:清理系统中残留的旧版本Docker组件,避免和新版本冲突;yum remove是CentOS的卸载命令,反斜杠\\用于换行,让命令更易读。

    步骤2:安装必要的系统依赖

    # 安装yum-utils(提供yum-config-manager工具)、device-mapper-persistent-data、lvm2(Docker存储驱动依赖) sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    命令作用:

    • yum install -y:-y表示自动确认安装,无需手动输入y;

    • yum-utils:包含配置Docker仓库的核心工具yum-config-manager;

    • device-mapper-persistent-data/lvm2:Docker默认存储驱动devicemapper的依赖包。

    步骤3:配置Docker官方yum仓库(国内用户建议替换为阿里云镜像)

    # 配置阿里云Docker镜像仓库(比官方仓库下载快) sudo yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    命令作用:

    • yum-config-manager –add-repo:添加yum仓库配置;

    • 阿里云镜像仓库:解决官方仓库在国内下载慢的问题,新手优先用这个,避免下载超时。

    步骤4:安装Docker CE(社区版)

    # 安装最新版Docker CE(包含docker-ce、docker-ce-cli、containerd.io) sudo yum install -y docker-ce docker-ce-cli containerd.io

    命令作用:

    • docker-ce:Docker引擎核心包;

    • docker-ce-cli:Docker命令行工具;

    • containerd.io:容器运行时(Docker依赖的底层组件);

    • 若想安装指定版本(比如24.0.6),先执行yum list docker-ce –showduplicates | sort -r查看版本列表,再执行sudo yum install -y docker-ce-24.0.6 docker-ce-cli-24.0.6 containerd.io。

    步骤5:启动Docker并设置开机自启

    # 启动Docker服务 sudo systemctl start docker # 设置Docker开机自启(避免服务器重启后Docker未启动) sudo systemctl enable docker

    命令作用:

    • systemctl start docker:启动Docker守护进程;

    • systemctl enable docker:将Docker加入系统开机自启服务,CentOS 7/8均适用。

    步骤6:验证安装是否成功

    # 查看Docker版本(验证安装) docker –version # 运行hello-world镜像(验证Docker功能正常) sudo docker run hello-world

    验证成功标志:

    • 执行docker –version输出类似Docker version 24.0.6, build ed223bc;

    • 执行docker run hello-world后,输出“Hello from Docker!”等提示信息,说明Docker能正常拉取镜像、运行容器。

    CentOS安装常见报错及解决

  • 报错:package docker-ce-xxx requires containerd.io >= 1.6.4:

  • 解决:先升级[containerd.io](containerd.io),执行sudo yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/containerd/containerd.io-1.6.21-3.1.el7.x86_64.rpm,再重新安装Docker。

  • 报错:Failed to start docker.service: Unit not found:

  • 解决:检查是否安装成功,执行yum list installed | grep docker,若未安装则重新执行安装命令;若已安装,执行systemctl daemon-reload刷新服务配置,再启动Docker。

  • 三、Ubuntu系统(18.04/20.04/22.04)Docker CE安装全流程(命令逐行拆解)

    Ubuntu的安装依赖apt包管理器,步骤和CentOS类似,但命令有差异,下面逐行拆解。

    步骤1:卸载旧版本(可选,建议执行)

    # 卸载旧版本Docker组件 sudo apt-get remove docker docker-engine docker.io containerd runc

    命令作用:清理Ubuntu系统中旧的Docker相关组件,避免冲突;apt-get remove是Ubuntu的卸载命令。

    步骤2:更新系统软件包并安装依赖

    # 更新apt包索引(确保最新的软件包信息) sudo apt-get update # 安装允许apt通过HTTPS访问仓库的依赖 sudo apt-get install -y ca-certificates curl gnupg lsb-release

    命令作用:

    • apt-get update:刷新本地软件包缓存;

    • ca-certificates/curl/gnupg:用于验证仓库证书、下载文件、加密验证;

    • lsb-release:用于获取系统版本信息,适配不同Ubuntu版本的仓库配置。

    步骤3:添加Docker官方GPG密钥(验证仓库合法性)

    # 创建密钥存储目录 sudo mkdir -p /etc/apt/trusted.gpg.d # 下载并添加阿里云Docker GPG密钥(国内用户优先) curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/trusted.gpg.d/docker.gpg

    命令作用:GPG密钥用于验证Docker仓库的软件包未被篡改,避免安装恶意包。

    步骤4:配置Docker官方apt仓库

    # 添加Docker apt仓库到系统源列表 echo \\ "deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \\ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    命令作用:

    • dpkg –print-architecture:自动获取系统架构(如x86_64);

    • lsb_release -cs:自动获取Ubuntu版本代号(如18.04= bionic、20.04=focal、22.04=jammy);

    • tee:将配置写入/etc/apt/sources.list.d/docker.list,> /dev/null表示不输出冗余信息。

    步骤5:安装Docker CE(社区版)

    # 再次更新apt索引(加载新添加的Docker仓库) sudo apt-get update # 安装最新版Docker CE sudo apt-get install -y docker-ce docker-ce-cli containerd.io

    可选:安装指定版本(比如24.0.6):

    # 查看可用版本 apt-cache madison docker-ce # 安装指定版本 sudo apt-get install -y docker-ce=5:24.0.6-1~ubuntu.22.04~jammy docker-ce-cli=5:24.0.6-1~ubuntu.22.04~jammy containerd.io

    步骤6:启动Docker并设置开机自启

    # 启动Docker服务 sudo systemctl start docker # 设置开机自启 sudo systemctl enable docker

    命令作用:和CentOS一致,Ubuntu同样使用systemctl管理服务。

    步骤7:验证安装是否成功

    # 查看Docker版本 docker –version # 运行hello-world镜像 sudo docker run hello-world

    验证成功标志:和CentOS一致,输出版本信息和“Hello from Docker!”提示。

    Ubuntu安装常见报错及解决

  • 报错:E: Package 'docker-ce' has no installation candidate:

  • 解决:检查仓库配置是否正确,执行cat /etc/apt/sources.list.d/docker.list,确认版本代号(如22.04是jammy)是否正确,重新执行步骤3-4后更新apt索引。

  • 报错:permission denied while trying to connect to the Docker daemon socket:

  • 解决:将当前用户加入docker组,执行sudo usermod -aG docker $USER,重启终端或执行newgrp docker,无需sudo即可运行docker命令。

  • 四、安装后优化:配置Docker镜像加速器(国内用户必做)

    国内访问Docker官方仓库速度慢,配置阿里云/网易云加速器能大幅提升镜像拉取速度,步骤如下(CentOS/Ubuntu通用):

    # 创建Docker配置目录 sudo mkdir -p /etc/docker # 写入加速器配置(阿里云为例,需替换为自己的加速器地址,可在阿里云控制台获取) sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://你的阿里云加速器地址.mirror.aliyuncs.com"] } EOF # 重启Docker服务使配置生效 sudo systemctl daemon-reload sudo systemctl restart docker

    验证加速器生效:执行docker info,在输出中找到Registry Mirrors,显示配置的加速器地址即成功。

    五、版本选型回顾:CentOS/Ubuntu该选CE还是EE?

    结合前文的版本区别,补充Linux系统的选型细节:

  • 新手/个人学习/小团队:优先选Docker CE(社区版),免费、核心功能全,CentOS/Ubuntu的CE版本安装流程简单,适配性最好;

  • 企业生产环境(CentOS/Ubuntu Server):

  • 核心业务:选Docker EE(需购买授权),CentOS 7/8、Ubuntu 20.04/22.04 LTS是EE版本的主要支持系统;

  • 非核心业务:选Docker CE即可,降低成本,同时可通过自建镜像扫描、权限管理弥补CE的安全短板。

  • 总结

    核心安装步骤回顾

  • CentOS:卸载旧版本→安装依赖→配置阿里云yum仓库→安装Docker CE→启动并验证;

  • Ubuntu:卸载旧版本→更新apt→安装依赖→添加GPG密钥→配置apt仓库→安装Docker CE→启动并验证;

  • 通用优化:配置镜像加速器,提升国内拉取镜像速度。

  • 选型核心

    • 新手/非核心业务:Docker CE(免费、易安装、功能全);

    • 企业核心业务:Docker EE(稳定、安全、有官方支持)。

    后续我会更新Docker基础命令、镜像/容器管理实操,关注我,跟着系列教程一步步吃透Docker,从安装到实战,零基础也能轻松上手!

    觉得有用的话,收藏+关注,评论区扣“Docker安装”,免费领取《Linux Docker安装避坑手册》,助力你一次安装成功,少走弯路~

    赞(0)
    未经允许不得转载:171主机测评 » Linux 系统(CentOS/Ubuntu)Docker 安装全流程详解
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址