Ubuntu怎么安装Docker?Ubuntu安装Docker的详细步骤

在Ubuntu系统上安装Docker的最快路径是卸载旧版本后,通过官方APT仓库配置并安装docker-ce包,随后将当前用户加入docker用户组以免sudo权限。

Docker作为容器化技术的基石,其安装过程看似简单,实则暗藏诸多细节,许多初学者在Ubuntu环境下部署时,常因仓库源配置错误或权限管理不当而遭遇“Permission denied”或依赖冲突,本文将摒弃冗长的理论铺垫,直接切入实操核心,梳理从环境清理到服务验证的全链路步骤,确保你在2026年的技术环境中能高效、稳定地跑起第一个容器。

Ubuntu 24.04 LTS安装 docker 完整过程
加载中
Ubuntu 24.04 LTS安装 docker 完整过程

Ubuntu安装Docker的完整流程解析

在开始任何安装操作前,清理环境是避免后续冲突的关键,Ubuntu系统中可能残留旧版本的Docker(如docker.io或docker-engine),这些版本往往来自Ubuntu默认仓库,而非Docker官方源,其版本更新滞后且功能受限。

卸载旧版本Docker

若系统中存在旧版Docker,需先将其彻底移除,这不仅能释放磁盘空间,更能防止包管理器在解析依赖时出现混乱。

  1. 打开终端,执行以下命令卸载所有可能存在的Docker相关包:

    sudo apt-get remove docker docker-engine docker.io containerd runc

    执行后,系统会提示确认操作,输入“Y”并回车,注意,此操作不会删除镜像、容器、卷或自定义配置文件,数据安全无忧。

  2. 清理残留的依赖包:

    sudo apt-get autoremove –purge

    这一步确保系统中不再保留与旧版Docker相关的无用依赖,为后续安装腾出干净的环境。

配置Docker官方APT仓库

直接使用Ubuntu默认仓库安装Docker往往获取的是较旧版本,为了获得最新特性及安全补丁,配置Docker官方仓库是业内共识认为的最佳实践。

  1. 更新包索引并安装依赖项:

    sudo apt-get update

    sudo apt-get install ca-certificates curl gnupg lsb-release

    Ubuntu怎么安装Docker?Ubuntu安装Docker的详细步骤

  2. 添加Docker的官方GPG密钥:

    sudo mkdir -p /etc/apt/keyrings

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg

    sudo chmod a+r /etc/apt/keyrings/docker.gpg

    此步骤确保你下载的包来自可信来源,防止中间人攻击。

  3. 设置稳定版仓库:

    echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    该命令动态识别你的Ubuntu版本代号(如jammy、noble),并指向对应的稳定版仓库。

安装并验证Docker引擎

仓库配置完成后,即可安装Docker CE(社区版)。

  1. 更新包索引并安装:

    sudo apt-get update

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    此处特别强调安装docker-compose-plugin,因为在2026年的开发场景中,多容器编排已成为标配,原生插件支持比独立二进制文件更便于版本管理和更新。

  2. 验证安装是否成功:

    sudo docker run hello-world

    若终端输出“Hello from Docker!”及一系列构建信息,说明Docker引擎、CLI及运行时均已正常工作。

权限管理与开机自启优化

默认情况下,Docker守护进程绑定到Unix套接字,且该套接字的所有权为root用户,这意味着非root用户执行Docker命令时需加sudo,既繁琐又存在安全隐患。

创建docker用户组

将当前用户加入docker组是提升操作效率的关键步骤。

  1. 创建docker组(若已存在则跳过):

    sudo groupadd docker

  2. 将当前用户加入该组:

    sudo usermod -aG docker $USER

    Ubuntu怎么安装Docker?Ubuntu安装Docker的详细步骤

  3. 使组变更立即生效:

    newgrp docker

    此后,你可直接运行docker ps等命令,无需sudo,注意,部分系统可能需要重新登录才能完全生效。

设置Docker服务开机自启

为确保服务器重启后Docker服务自动运行,需启用systemd服务。

  1. 启用并启动Docker服务:

    sudo systemctl enable docker

    sudo systemctl start docker

  2. 验证服务状态:

    sudo systemctl status docker

    若显示“active (running)”,则配置成功。

常见问题与场景化解决方案

在实际部署中,网络配置、存储驱动及版本兼容性是三大痛点,以下针对高频场景提供针对性解答。

网络代理配置

在企业内网或受限网络环境中,直接拉取Docker Hub镜像可能超时或失败。

  1. 创建系统级代理配置目录:

    sudo mkdir -p /etc/systemd/system/docker.service.d

  2. 创建代理配置文件:

    sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf << EOF [Service] Environment="HTTP_PROXY=http://proxy.example.com:8080" Environment="HTTPS_PROXY=http://proxy.example.com:8080" EOF

  3. 重载配置并重启Docker:

    sudo systemctl daemon-reload

    sudo systemctl restart docker

存储驱动选择

Ubuntu默认使用overlay2存储驱动,这是目前性能与兼容性平衡最佳的选择,但在某些特殊硬件或旧内核环境下,可能需要切换至vfs或btrfs。

  1. 查看当前存储驱动:

    docker info | grep “Storage Driver”

  2. 若需更改,需编辑daemon.json:

    sudo tee /etc/docker/daemon.json << EOF { "storage-driver": "overlay2" } EOF

    修改后重启Docker服务生效,业内专家指出,对于大多数通用场景,保持默认overlay2即可,无需过度干预。

    Ubuntu怎么安装Docker?Ubuntu安装Docker的详细步骤

版本回退与升级

当新版本的Docker引入不兼容变更时,快速回退至关重要。

  1. 列出可用版本:

    apt-cache madison docker-ce

  2. 安装指定版本:

    sudo apt-get install docker-ce= docker-ce-cli= containerd.io

    注意,版本号需与CLI和containerd严格匹配,否则可能导致服务启动失败。

Ubuntu安装Docker常见问题解答

Ubuntu安装Docker时提示依赖冲突如何解决?

依赖冲突通常源于旧版Docker包与新版仓库源混用,解决方法是彻底卸载所有docker相关包(包括docker.io、docker-engine等),清理apt缓存(sudo apt-get clean),然后重新添加官方GPG密钥和仓库源,若冲突仍存,可尝试使用sudo apt-get install -f命令自动修复破损依赖。

Docker Compose在Ubuntu上安装失败怎么办?

多数情况下,安装失败是因为未正确安装docker-compose-plugin,请确保执行了sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin,若仍报错,检查/etc/apt/sources.list.d/docker.list是否正确指向当前Ubuntu版本代号,也可尝试手动下载对应版本的.deb包进行本地安装。

如何在Ubuntu上配置Docker镜像加速?

镜像加速可显著提升拉取速度,编辑或创建/etc/docker/daemon.json文件,添加registry-mirrors字段。{“registry-mirrors”: [“https://your-mirror-address.com”]},保存后重启Docker服务(sudo systemctl restart docker),注意,镜像地址需为可信且稳定的源,避免使用不可靠的第三方镜像导致安全风险。

掌握上述步骤,你便能在Ubuntu环境中构建起稳定、高效的Docker开发底座,技术选型虽多,但回归本质,清晰的命令执行与规范的权限管理才是保障系统长期稳定运行的核心。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/415088.html

(0)
域名去哪里买比较好?便宜域名购买网站推荐
上一篇 2026年6月23日 13:53
5118问答营销助手功能怎么用?5118问答营销助手怎么使用
下一篇 2026年6月23日 14:10

相关推荐

  • 服务器带宽流量怎么换算?3分钟学会换算方法

    服务器带宽与流量的换算核心在于一个“除法公式”:带宽总量除以8等于实际下载速度,流量总量乘以8等于带宽承载能力,掌握这一换算逻辑,即可精准规划服务器资源,避免带宽浪费或流量超支,对于企业级用户而言,理解这一逻辑能直接降低30%以上的运营成本,核心换算逻辑:比特与字节的鸿沟服务器带宽与流量的换算之所以让许多初学者……

    2026年3月6日
    12400
  • 广安智慧停车服务怎么收费?广安智慧停车缴费入口

    广安智慧停车服务通过物联网与大数据技术的深度融合,有效解决了城市停车难、管理乱的核心痛点,实现了车位资源的高效利用与车主出行体验的显著提升,是构建现代化智慧城市交通体系的关键一环,随着广安市机动车保有量的持续激增,城市静态交通管理面临着前所未有的压力,传统的停车管理模式因信息孤岛效应严重、人工收费效率低下、车位……

    2026年4月2日
    10000
  • 华为网络电话如何获得华为支持,怎么收费?

    华为网络电话(华为CloudLink系列)以企业级统一通信为核心,整合高清语音、视频会议与协作功能,配合华为原厂7×24小时技术支持,能够实现从部署到运维的全周期稳定保障,华为网络电话的核心功能与适用场景高清语音与视频会议一体化华为网络电话设备不仅支持传统VoIP语音,还内置了1080p视频摄像头和智能降噪麦克……

    2026年7月31日
    1000
  • MySQL是干什么用的?MySQL数据库有什么特点

    MySQL是一款开源的关系型数据库管理系统,主要用于高效地存储、管理和检索结构化数据,凭借其高性能、高可靠性和低成本的优势,成为Web应用和企业级后端开发的首选数据库方案,想象一下,如果你经营着一家大型连锁超市,每天有成千上万的顾客购物,你需要一个超级聪明的记账员,不仅要记得谁买了什么,还要能瞬间算出总账,甚至……

    2026年6月24日
    1300
  • 华为云OBS网段配置时需要注意什么,怎么设置?

    华为云OBS网段是对象存储服务在华为云内网中使用的IP地址范围,通过内网网段访问OBS可以免去流量费用并提升传输速度,是控制成本和优化性能的关键,华为云OBS网段到底指什么网段的基本概念华为云OBS(Object Storage Service)作为分布式存储系统,对外提供访问时依赖一组固定的IP地址范围,这些……

    2026年7月31日
    1200
  • 广州60g高防dns解析如何使用,广州高防DNS解析设置教程

    广州60g高防dns解析的使用核心在于精准配置DNS记录与高防节点的智能调度,通过将域名解析至具备60Gbps清洗能力的高防IP或CNAME地址,实现流量清洗与源站隐藏,从而保障业务在DDoS攻击下的连续性与稳定性,这一过程并非简单的IP指向,而是一套包含防御策略设定、监控告警配置及故障切换的综合解决方案,只有……

    2026年4月1日
    8700
  • WordPress网站如何禁用XML-RPC?php禁用xmlrpc.php方法

    禁用XML-RPC是提升WordPress安全性与加载速度的关键一步,建议通过插件一键屏蔽或修改服务器配置文件来实现,XML-RPC这个看似古老的技术协议,如今已成为黑客攻击WordPress站点的主要入口,它允许远程客户端通过HTTP协议访问网站数据,原本用于博客聚合和移动应用连接,但现在更多被用于暴力破解密……

    2026年6月22日
    3600
  • 服务器带宽费用怎么算最便宜?带宽价格多少钱一年

    想要实现服务器带宽费用最低化,核心结论在于:打破“固定带宽”的传统采购思维,转而采用“按量计费+共享带宽包+智能压缩”的组合策略,单纯追求运营商给出的低单价往往陷入误区,真正的低成本源于对自身业务流量模型的精准匹配与技术手段的极致优化,通过混合计费模式与技术优化双管齐下,企业完全有能力将带宽成本降低30%至50……

    2026年3月3日
    14400
  • 互联网与云通信行业前景如何?云通信平台有哪些

    2026年互联网与云通信行业已进入“智能融合”深水区,企业应优先选择具备AI原生能力的PaaS平台,通过API快速集成,以显著降低通信成本并提升客户交互效率,云通信不再仅仅是打电话或发短信的工具,它变成了连接用户与服务的数字神经中枢,对于大多数中小企业而言,最大的痛点往往不是技术本身,而是如何选择合适的供应商以……

    2026年6月2日
    4700
  • html5不使用服务器能实现吗?html5前端静态页面开发

    HTML5无需服务器即可实现本地运行,通过浏览器直接打开HTML文件或使用本地服务器插件,即可快速预览和调试页面,特别适合静态展示、原型开发及离线教学场景,在2026年的前端开发环境中,许多初学者甚至资深开发者依然对“本地运行”存在误区,认为必须搭建复杂的Nginx或Apache环境才能看到效果,随着浏览器安全……

    2026年6月11日
    5100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)

  • 孔瑞琪
    孔瑞琪 2026年7月4日 20:38

    诶这不就是我上周踩坑那天的翻版嘛~ sudo后漏加用户组那会儿,连docker ps都报权限拒绝, 莫名戳到…原来不是技