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

Linux 安装 Docker 详细步骤(保姆级教程),亲测可用

文章目录

    • 前置说明
    • 步骤1:卸载旧版本Docker(若已安装)
    • 步骤2:安装Docker依赖包
    • 步骤3:配置Docker官方YUM源
      • 方式1:官方源
      • 方式2:阿里云源(推荐国内使用)
    • 步骤4:安装Docker Engine(社区版,生产环境常用)
      • 方式1:安装最新稳定版(推荐)
      • 方式2:安装指定版本(若需固定版本)
    • 步骤5:启动Docker并设置开机自启
    • 步骤6:验证Docker安装成功
    • 步骤7:配置Docker镜像加速(必做)
      • 步骤7.1:获取阿里云专属加速地址
      • 步骤7.2:配置加速地址
    • 常用Docker基础命令
    • 常见问题解决

Linux (本文章基于CentOS7 )安装 Docker 分为卸载旧版本(可选)配置官方yum源安装Docker引擎启动并设置开机自启验证安装配置镜像加速(必做,提升拉取速度)六个核心步骤,全程使用root权限操作(普通用户需加sudo)。

前置说明

  1. Linux 要求内核版本 ≥ 3.10,先验证内核:

    uname-r

    若版本过低,需先升级内核(一般云服务器/新系统满足,无需操作)。

  2. 关闭防火墙/SELinux(可选,避免Docker网络问题,生产环境可精细化配置规则):

    # 临时关闭防火墙systemctl stop firewalld systemctl disable firewalld# 临时关闭SELinuxsetenforce0# 永久关闭SELinux(重启生效)sed-i's/^SELINUX=enforcing$/SELINUX=disabled/'/etc/selinux/config

步骤1:卸载旧版本Docker(若已安装)

Linux 中旧版本可能名为docker/docker-io/docker-engine,先卸载避免冲突:

yum remove-ydocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine

卸载后,原有镜像/容器/数据会保留在/var/lib/docker/,若需清理可手动删除:rm -rf /var/lib/docker/

步骤2:安装Docker依赖包

安装yum-utils(提供yum-config-manager工具)、设备映射器等依赖,用于配置源和驱动支持:

yuminstall-yyum-utils device-mapper-persistent-data lvm2

步骤3:配置Docker官方YUM源

推荐使用官方源(稳定),也可使用阿里云源(国内访问更快),二选一即可:

方式1:官方源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

方式2:阿里云源(推荐国内使用)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

步骤4:安装Docker Engine(社区版,生产环境常用)

Docker 分为CE(社区版,免费)EE(企业版,收费),这里安装社区版最新稳定版:

方式1:安装最新稳定版(推荐)

yuminstall-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • docker-ce:Docker 引擎核心
  • docker-ce-cli:Docker 命令行工具
  • containerd.io:容器运行时
  • 后两个是Docker官方的构建和编排插件(含docker compose命令)。

方式2:安装指定版本(若需固定版本)

  1. 先查看可用版本:

    yum list docker-ce--showduplicates|sort-r
  2. 版本号-发布版格式安装(例:安装24.0.7版本):

    yuminstall-ydocker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io docker-buildx-plugin docker-compose-plugin

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

安装完成后Docker默认未启动,执行以下命令:

# 启动Docker服务systemctl startdocker# 设置开机自启(重启服务器后自动启动)systemctlenabledocker# 查看Docker运行状态(显示active(running)即为正常)systemctl statusdocker
  • 停止Docker:systemctl stop docker
  • 重启Docker:systemctl restart docker
  • 查看Docker详细信息:docker info

步骤6:验证Docker安装成功

通过运行测试容器验证(拉取hello-world镜像并运行,自动删除):

dockerrun hello-world

若输出以下内容,说明安装+运行完全正常:

Hello from Docker! This message shows that your installation appears to be working correctly. ...

步骤7:配置Docker镜像加速(必做)

Docker默认拉取镜像从国外官方仓库,速度极慢,需配置国内镜像源(阿里云/网易/华为云等),这里以阿里云镜像加速为例(推荐,需自行获取专属加速地址)。

步骤7.1:获取阿里云专属加速地址

  1. 打开阿里云官网:https://cr.aliyun.com/
  2. 登录阿里云账号(无账号可免费注册)
  3. 左侧导航栏找到容器镜像服务镜像工具镜像加速器
  4. 复制Linux对应的加速器地址(格式:https://xxxx.mirror.aliyuncs.com)

步骤7.2:配置加速地址

  1. 创建Docker配置目录(若已存在则跳过):

    mkdir-p/etc/docker
  2. 编辑daemon.json配置文件:

    vi/etc/docker/daemon.json
  3. 粘贴以下内容(替换your_accelerator_url为自己的阿里云加速地址,可添加多个源用逗号分隔):

    {"registry-mirrors":["https://your_accelerator_url","https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}
  4. 重新加载配置并重启Docker(使配置生效):

    systemctl daemon-reload systemctl restartdocker
  5. 验证加速配置:

    dockerinfo

    若输出中Registry Mirrors显示配置的镜像地址,说明加速配置成功。

常用Docker基础命令

# 查看Docker版本docker--versiondockerversion# 查看本地镜像dockerimages# 拉取镜像(例:拉取nginx最新版)dockerpull nginx# 运行容器(例:运行nginx,映射80端口)dockerrun-d-p80:80--namemynginx nginx# 查看运行中的容器dockerps# 查看所有容器(含停止的)dockerps-a# 停止容器(例:停止mynginx容器)dockerstop mynginx# 删除容器(需先停止)dockerrmmynginx# 删除镜像dockerrmi 镜像名/镜像ID

常见问题解决

  1. yum安装时提示“没有可用软件包docker-ce”
    原因是未正确配置yum源,重新执行步骤3,确保源配置成功。

  2. 启动Docker提示“containerd not running”
    手动启动containerd:systemctl start containerd && systemctl enable containerd,再重启Docker。

  3. 拉取镜像时提示“timeout”
    检查镜像加速配置是否正确,或更换其他国内镜像源,同时检查服务器网络是否通畅。

  4. 普通用户无法执行docker命令
    将用户加入docker用户组(无需root/sudo):

    usermod-aGdocker用户名# 重新登录用户使配置生效logout
http://www.jsqmd.com/news/534907/

相关文章:

  • 避坑指南:Unity粒子系统做星星特效时最容易忽略的3个细节(附材质包)
  • 2026年3月苏州减震台座厂家最新推荐:水泵减震器、冷水机组减震器、变压器减震器、冷却塔减震器、浮筑楼板减震器厂家选择指南 - 海棠依旧大
  • 如何实现百万级WebSocket连接:Go语言高性能架构完全指南
  • 从AlphaGo到ChatGPT:拆解AI巨头产品背后的‘三派’混血技术
  • ThreadX系统服务:从事件链到优先级继承的深度解析
  • DMXAPI 和 Filesystem MCP Tool 能解决什么:一篇偏工程经验的总结
  • 如何快速搭建MiroFish预测引擎:3种高效部署方案全解析
  • Arcgis进阶指南:影像镶嵌与裁剪的高效操作技巧
  • 嵌入式老司机教你玩转Hi3520DV400:NOR/NAND双启动配置与TFTP极速烧写技巧
  • 常见编程错误单词总结
  • 一键部署Qwen3-ASR-1.7B:快速搭建个人语音助手与会议纪要工具
  • 别再乱存Token了!Laravel+jwt-auth安全实践指南(LocalStorage vs Cookie对比)
  • 嵌入式系统数据可移植性设计与实现
  • Allegro PCB设计实战:约束规则管理中的5个高频坑点及解决方案
  • HDMI高速差分信号的长度匹配与EMI问题
  • MATLAB App Designer实战指南:从零打造你的第一个交互式GUI应用
  • 别再手动删缓存了!Nginx缓存配置实战:从proxy_cache到purge模块的完整避坑指南
  • BeepBox:释放音乐创造力的零门槛工具 - 零基础创作者指南
  • 华为S5700交换机在eNSP中的实战配置:从VLAN划分到SSH安全登录
  • Fluent气动噪声 - 旋转机械风扇风机气动噪声仿真教学在线—重叠网格
  • 别再死记硬背了!用eNSP亲手‘破坏’一次网络,彻底搞懂OSPF Router-ID的选举和唯一性有多重要
  • Android Studio最新版必看:解决act_main.xml控件爆红的3种终极方案(含缓存清理技巧)
  • WaveView终极指南:3步打造Android动态波形进度条
  • 新手福音:用快马AI生成代码,零基础学会制作软件安装介绍页
  • Gemini:AI原生应用领域的创新力量
  • GitHub Markup国际化支持:处理多语言文档的终极渲染策略指南
  • 服务器OOM急救指南:如何通过Swap配置避免进程被意外杀死(附调优参数)
  • STM32 FATFS优化实战:精简Flash与RAM占用的三大策略
  • Windows 11 修复版镜像实战指南:绕过TPM2.0与Secure Boot限制
  • 飞书文档自动化导出全攻略:从效率瓶颈到智能解决方案