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

相关推荐

  • 广州600g高防ddos服务器配置

    在广州地区部署高防业务,600G防御能力是目前抵御大规模流量攻击的黄金标准,也是保障企业业务连续性的核心防线,针对日益复杂的DDoS攻击态势,选择广州600g高防ddos服务器配置时,“防御带宽真实性”、“硬件I/O性能”以及“清洗中心的响应速度”构成了评估体系的三大核心支柱,企业不应仅关注带宽数值,更需考量硬……

    2026年4月1日
    8900
  • html图片说明怎么写?html图片说明标签怎么用

    HTML图片说明(alt标签)不仅是搜索引擎理解图片内容的核心依据,更是提升网页加载速度、优化无障碍访问体验以及获取图片搜索流量的关键SEO技术细节,在2026年的搜索引擎生态中,视觉内容的权重持续攀升,图片搜索已成为用户获取信息的重要入口,许多网站运营者往往只关注文字内容的优化,却忽视了图片这一“沉默的流量入……

    2026年6月12日
    2600
  • 广州ECS云服务器如何安装redis?详细步骤教程

    在广州ECS云服务器上成功安装并高效运行Redis,核心在于正确选择系统环境、精细化配置内核参数以及实施严格的安全策略,对于追求高性能与低延迟的华南地区业务,通过本地编译安装获取最新稳定版Redis,并配合云平台的安全组与VPC网络规划,是构建高可用缓存服务的最佳实践, 这一过程不仅要求技术操作的准确性,更考验……

    2026年3月31日
    10000
  • 互联网云存储摄像机有啥用?家庭安防监控怎么选择

    互联网云存储摄像机的核心作用在于打破本地存储的物理限制,通过云端备份实现视频数据的永久保存、远程实时调阅及智能异常预警,彻底解决传统监控录像易丢失、难回溯的痛点,告别“删库跑路”,云端存储如何重塑安防逻辑过去我们装监控,最头疼的不是画面不清,而是硬盘坏了、被偷了,或者存储空间满了自动覆盖,导致关键时刻找不到证据……

    2026年6月2日
    3600
  • 服务器带宽跑满了怎么办?带宽跑满的原因及解决方法

    面对服务器带宽跑满的紧急情况,最核心的解决思路是“先阻断异常流量,再优化正常消耗,最后扩容带宽上限”,这一策略遵循了从应急止损到长效治理的优先级逻辑,能够以最低的成本恢复业务稳定性,当服务器带宽跑满时,盲目升级带宽往往治标不治本,不仅增加运营成本,还可能掩盖潜在的恶意攻击风险,必须通过技术手段精准定位病因,采取……

    2026年3月5日
    12300
  • 个人代码签名证书与EV证书有啥区别?专业版EV代码签名证书多少钱

    个人代码签名证书与专业版EV代码签名证书的核心区别在于信任等级、验证严格度及浏览器安全提示体验,前者适合内部测试或小型个人开发者,后者则是面向公众分发软件、通过Windows SmartScreen信誉评分及企业级合规的必要选择,在软件分发日益严格的今天,代码签名证书已不再是简单的“数字印章”,而是决定用户下载……

    2026年6月21日
    2500
  • GreenGeeks虚拟主机提供域名吗?虚拟主机送域名吗

    GreenGeeks虚拟主机本身不直接提供免费的域名注册服务,但作为其套餐的一部分,新用户通常能在首年免费获得一个域名,后续年份需按市场标准价格续费, 这一结论对于正在寻找高性价比建站方案的用户来说至关重要,因为它直接决定了你的初始投入成本以及后续维护的复杂性,很多初学者容易混淆“主机”与“域名”的概念,以为购……

    2026年6月24日
    1700
  • 服务器如何与多个客户端连接,怎么处理?

    服务器通过多路复用、线程池和异步非阻塞I/O三大技术支撑海量客户端连接;针对多个签名,服务端通常采用批量验证、签名聚合或分级验证方案来提升吞吐量, 无论你是在搭建即时通讯系统,还是处理区块链多签交易,这两块能力都直接决定了后端能扛多大压力,服务器多客户端连接方法对比:哪种最适合你的场景处理成百上千个客户端同时发……

    2026年8月2日
    100
  • hp服务器怎么关闭raid?如何彻底关闭raid阵列

    HP服务器关闭RAID通常是为了重置磁盘配置、更换硬盘或进行底层系统安装,核心操作是通过iLO远程管理界面或物理重启进入Smart Array BIOS配置实用程序(Ctrl+A)来删除虚拟磁盘并重置控制器状态,操作前务必确认数据已备份,因为此过程将不可逆地清除所有RAID数据,在数据中心运维或企业IT维护场景……

    服务器宽带 2026年6月11日
    3700
  • Access数据库在线编辑器怎么用?access数据库在线编辑工具

    Access数据库在线编辑器并非传统意义上的“在线软件”,而是基于Web技术的远程桌面或云托管方案,其核心优势在于无需本地安装Office即可通过浏览器访问和编辑mdb/accdb文件,适合轻度协作与移动端查看,很多人对“在线编辑Access”存在误解,以为像在线文档一样直接打开文件修改,由于Access是桌面……

    2026年7月3日
    610

发表回复

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

评论列表(1条)

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

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