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/ubuntu%e6%80%8e%e4%b9%88%e5%ae%89%e8%a3%85docker%ef%bc%9fubuntu%e5%ae%89%e8%a3%85docker%e7%9a%84%e8%af%a6%e7%bb%86%e6%ad%a5%e9%aa%a4/

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

相关推荐

  • 北京服务器租用为什么要看多线BGP?,怎么选?

    北京服务器租用必须看是否多线BGP,因为这直接决定了网站面向全国用户时的访问速度和稳定性,尤其在北京这种运营商网络复杂的地区,多线BGP几乎是保障用户体验的硬门槛,为什么多线BGP是北京服务器租用的核心指标单线服务器在北京的尴尬:访问慢、丢包高北京是国内互联网枢纽之一,电信、联通、移动三大运营商在这里的用户覆盖……

    2026年8月11日
    1300
  • 域名购买是永久有效的吗?域名过期了还能续费吗

    域名购买并非永久拥有,而是采用“按年续费”的租赁模式;购买后需绑定主机并配置DNS解析,才能通过浏览器正常访问网站,很多人误以为花几百块买了一个域名,它就永远属于自己,像买房一样,这种认知偏差往往导致域名过期后被他人抢注,造成品牌资产流失,域名本质上是互联网上的“门牌号”,你拥有的是该门牌号在特定时间段内的独家……

    2026年6月22日
    2200
  • 网站改域名后必须重新备案吗,备案信息如何同步更新?

    网站更换域名后,原有的ICP备案号无法直接跟随或同步到新域名,必须注销旧备案后,用新域名重新办理备案手续,备案信息不支持“修改域名”这一操作,只能走“注销—重新提交”的完整流程,很多站长在准备换域名时,第一反应都是去备案系统里改一下域名栏,以为像改个手机号那么简单,实际登录过阿里云、腾讯云备案后台你就会发现,备……

    2026年9月1日
    800
  • 广州GPU服务器上网问题怎么解决?广州GPU服务器无法连接网络的原因与修复方法

    广州GPU服务器上网问题的核心症结在于高算力业务与普通网络架构之间的不匹配,解决之道必须从硬件配置、网络拓扑优化及合规策略三个维度同步入手,单纯增加带宽无法根本解决问题,广州GPU服务器上网问题并非简单的连通性故障,而是高性能计算场景下对低延迟、高并发及数据安全传输的特殊需求与传统网络环境的冲突, 企业在部署或……

    2026年3月29日
    9700
  • 工业服务器有哪些常用配置,一般多少钱一台?

    工业服务器的配置核心是CPU、内存、存储、网络、电源、散热、机箱与工业防护,选型顺序是先定场景,再定算力和存储,最后核算价格与交付, 它和普通机房服务器最大的区别不在跑分,而在宽温、防尘、抗振、长期供货和远程管理,工业服务器配置怎么选?先看这六个硬指标选工业服务器,不能只盯CPU型号,现场环境、机柜空间、供电条……

    2026年10月16日
    100
  • Actionhero.js是什么?Actionhero.js教程

    ActionHero.js 是一个基于 Node.js 的高性能、可扩展的 RESTful API 框架,适合构建实时聊天、游戏后端及物联网数据接口,其核心优势在于内置的 WebSocket 支持和自动化的 API 文档生成能力,在 Node.js 生态系统中,虽然 Express 和 Koa 占据了大量市场份……

    2026年6月30日
    1200
  • WordPress古腾堡编辑器怎么使用?新手入门详细教程

    WordPress Gutenberg古腾堡编辑器通过区块化重构了内容创作逻辑,相比传统编辑器能显著提升加载速度与移动端适配体验,是2026年内容运营的首选工具,很多站长在升级WordPress到最新版本后,面对全新的后台界面感到无所适从,古腾堡编辑器并非简单的界面美化,而是底层逻辑的根本性变革,它将文章拆解为……

    2026年6月22日
    1900
  • 后端分析服务器有哪些值得关注,哪个品牌更稳定?

    后端分析服务器并没有固定清单,常见种类包括应用服务器、数据库服务器、日志分析服务器、大数据分析服务器,选型取决于你的数据规模、分析维度和实时性要求,后端分析服务器有哪些常见类型很多朋友把“后端分析服务器”当成一种具体硬件,其实它是一类职责的统称,根据分析任务的不同,后端分析服务器可以拆成下面几个大方向,应用服务……

    2026年10月16日
    100
  • 为什么有外键的表无法删除报错ERROR1451,怎么解决?

    解决MySQL有外键的表无法删除并报错ERROR 1451,核心思路是先确认外键关系,然后临时禁用外键检查或删除外键约束,最后再执行删除表操作,很多开发者在管理MySQL数据库时,都会遇到这种情况:执行DROP TABLE语句时,系统直接返回ERROR 1451 (23000): Cannot delete o……

    2026年8月1日
    200
  • 广州ECS云服务器默认密码是多少?ECS云服务器初始密码怎么查

    广州ECS云服务器默认密码并不存在统一且固定的初始值,出于安全考量,主流云厂商均采用“实例创建时随机生成”或“用户自定义设置”的机制, 任何声称存在通用默认密码的说法均不符合当前云计算安全标准,盲目尝试默认密码不仅无法登录,更可能触发安全拦截机制,对于企业用户而言,掌握正确的密码获取与重置流程,是保障服务器安全……

    2026年3月29日
    8600

发表回复

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

评论列表(1条)

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

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