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

相关推荐

  • 广州DDOS哪个好?广州高防DDOS攻击防护服务哪家靠谱

    在广州寻找优质的DDOS防护服务,核心结论在于选择具备本地化清洗中心、具备T级带宽储备且能提供真实案例验证的服务商,面对日益复杂的网络攻击,单纯的软件防御已失效,硬件集群防御与智能调度系统的结合才是保障业务连续性的关键,企业不应仅看价格,更需考量服务商的响应速度、防御峰值以及售后技术支持能力,防御能力的硬指标……

    2026年4月1日
    8500
  • 购买域名后子域名怎么解析绑定服务器?,子域名解析不生效怎么办

    域名购买后,子域名解析绑定到服务器的核心操作就是去域名注册商或DNS服务商的控制台添加一条解析记录,将子域名指向服务器的IP地址,然后在服务器(如Nginx或Apache)上配置对应的站点或转发规则,整个过程通常只需要几分钟配置和最多一小时的生效等待,不涉及代码修改,下面把这条链路拆开讲清楚,从解析原理到服务器……

    2026年9月6日
    400
  • 百度智能云登录入口在哪?百度智能云账号密码忘了怎么办

    百度智能云登录是访问云端资源的第一步,建议优先使用手机号验证码或账号密码组合,若遇故障可尝试清除缓存或切换至手机号快捷登录模式,在数字化转型的深水区,企业和个人开发者与云服务的交互,往往始于那个简洁却至关重要的登录界面,对于许多初次接触百度智能云账号注册的用户而言,这不仅仅是一个技术动作,更是开启算力、存储和A……

    2026年6月4日
    3600
  • 虚拟机字体转换失败如何解决,有哪些常用工具推荐?

    虚拟机字体转换失败通常不是单一原因造成的,多数情况下是虚拟机工具未安装、显示设置不当或字体文件损坏引起,按顺序排查系统组件、显示参数和字体源文件,绝大多数问题都能在十分钟内解决,先判断故障类型再动手遇到字体转换失败,第一步不是找工具,而是弄清楚具体是哪种表现,不同表现对应完全不同的处理路径,常见故障表现可分为三……

    2026年9月4日
    400
  • 广告语音和背景音乐合成软件哪个好?如何免费制作广告配音?

    生产效率、降低制作成本并实现专业级听觉体验的核心工具,其价值在于将复杂的音频工程简化为可视化、模块化的操作流程,让非专业人士也能快速产出具有商业竞争力的音频作品,在数字营销竞争日益激烈的当下,音频质量往往决定了广告的完播率与转化率,传统的音频制作流程涉及录音、剪辑、配乐、混音、母带处理等多个环节,不仅耗时费力……

    2026年4月2日
    8500
  • 配置Web服务器需要做哪些工作?,关键步骤有哪些?

    配置Web服务器包括安装和使用服务软件、绑定域名与站点目录、设置虚拟主机、启用HTTPS、调整运行参数以及完成安全加固这几类核心工作,把这几件事做完,用户才能通过浏览器正常访问你部署的网站,配置Web服务器并不是简单装一个软件就结束,很多新手买完云服务器之后,会发现有些教程只教了安装Nginx或Apache,却……

    2026年10月12日
    200
  • html5的字体样式

    HTML5字体样式并非单纯设置字号大小,而是通过CSS3属性组合实现响应式排版、性能优化与无障碍访问的统一,核心在于使用rem单位、font-display策略及@font-face加载机制,在网页开发的日常实践中,很多开发者容易陷入一个误区,认为只要把字调大、调粗就能解决可读性问题,现代Web开发对字体的要求……

    2026年6月11日
    4000
  • TypeScript数据类型有哪些?TypeScript基础类型详解

    TypeScript 的核心数据类型主要分为基本类型(如 string, number, boolean, null, undefined, symbol, bigint)和引用类型(如 object, array, tuple, enum, any, unknown, never),它们共同构成了静态类型检查……

    2026年6月22日
    2000
  • http代理负载均衡怎么配置?http代理负载均衡如何设置

    http代理负载均衡的核心价值在于通过智能分发请求,将高并发流量均匀分摊至多个后端代理节点,从而显著提升网络稳定性、降低单点故障风险并优化整体访问速度,在数字化业务高速发展的今天,单一代理服务器早已无法应对复杂的网络环境,无论是电商数据采集、社交媒体管理,还是跨国业务拓展,流量的波动性都极大,如果所有请求都挤在……

    2026年6月4日
    4200
  • 服务器协议书有哪些内容?,服务器协议注意事项有哪些

    服务器协议书的核心文件通常包括采购合同、租用合同、托管合同、服务等级协议(SLA)、数据处理协议和保密协议,具体签哪几份,取决于硬件归谁、机房归谁、运维归谁,把这三件事的对应用关系理清楚,一份服务器协议清单基本就出来了,服务器协议书到底包含哪些常见类型服务器相关的协议,本质上都是围绕“谁出硬件、谁出机房、谁负责……

    2026年10月11日
    200

发表回复

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

评论列表(1条)

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

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