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://test.idctop.com/article/415088.html

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

相关推荐

  • 广州gpu服务器创建云盘怎么操作?广州gpu服务器云盘搭建教程

    在广州地区部署高性能计算环境,高效创建云盘是保障GPU服务器性能释放的关键一步,广州作为华南地区的核心网络节点,拥有得天独厚的网络带宽优势,而GPU服务器作为算力密集型设备,其对存储系统的IOPS(每秒输入/输出操作次数)和吞吐量要求极高,云盘的创建并非简单的“下一步”操作,而是一项需要精准匹配业务模型与存储介……

    2026年3月29日
    11000
  • html输入框图片怎么设置?html输入框添加图片代码

    在HTML中插入图片的核心方法是使用<img>标签,通过设置src属性指定图片路径,并务必添加alt属性以提升SEO友好度和无障碍访问体验,网页开发中,图片不仅仅是视觉装饰,更是承载信息、优化加载速度和提升用户体验的关键元素,很多初学者在编写代码时,往往只关注图片能否显示,却忽略了代码的规范性、加载……

    2026年6月4日
    3100
  • 呼叫中心提供商和呼叫中心咨询哪家好?,多少钱

    选择呼叫中心提供商,与其一家家比参数,不如先让咨询公司帮你梳理业务模式,他们能帮你匹配系统、优化流程,把预算真正花在刀刃上,为什么要找呼叫中心咨询公司?很多企业在选型时容易陷入“功能对比”的陷阱,忽略了系统与实际运营的匹配度,咨询公司干的事,不是卖产品,而是帮你把需求翻译成技术语言,让供应商的解决方案能落地,缩……

    2026年7月30日
    400
  • HTML字体加粗怎么设置?html加粗标签代码

    这是一个语义重要的加粗示例,“`这种方式的优点是代码简洁,无需额外引入CSS文件,加载速度快,缺点是样式固定,无法通过外部样式表统一修改粗细程度,CSS样式控制的进阶用法如果你需要更精细的控制,比如调整加粗的像素值,或者在不同屏幕尺寸下显示不同的粗细,CSS是更好的选择,.custom-bold { font……

    网络与线路 2026年6月6日
    3600
  • html5手机网站分辨率怎么设置?手机网站适配最佳分辨率是多少

    HTML5手机网站分辨率适配的核心在于采用响应式布局与视口(Viewport)元标签设置,而非固定像素值,这能确保页面在不同尺寸设备上自动缩放并保持最佳阅读体验,为什么传统分辨率思维在移动端失效过去做PC网站时,设计师习惯以1920px或1366px为基准切图,但在移动互联网时代,这种线性思维会导致严重的体验灾……

    2026年6月7日
    9200
  • 互联网区块链分布式身份服务如何接入?分布式身份认证方案

    互联网区块链分布式身份服务(DID)通过去中心化技术实现用户自主掌控数字身份,彻底解决隐私泄露与数据孤岛问题,是构建可信数字社会的核心基础设施,为什么传统身份认证已无法满足2026年的安全需求过去十年,我们习惯了用手机号、邮箱或第三方平台账号登录各种应用,这种集中式管理模式看似便捷,实则将个人数据资产集中托管在……

    网络与线路 2026年6月3日
    5000
  • SSL加密协议是做什么的,SSL协议需要开启吗

    SSL加密协议的核心用途是建立用户与服务器之间的安全通信通道,防止数据在传输过程中被窃听或篡改;对于绝大多数现代网站而言,开启SSL不仅是提升搜索引擎排名的必要手段,更是保护用户隐私和信任的基础设施,因此必须开启,在当今的数字环境中,网络安全已不再是可选的附加项,而是网站生存的底线,当你访问一个网站时,浏览器与……

    2026年6月22日
    2900
  • 大宽带服务器租用有哪些套路?大宽带服务器租用避坑指南

    租用大宽带服务器,最核心的避坑法则只有一条:穿透“带宽参数”的表象,直击“实际性能”与“合规成本”的本质,很多用户在租用时往往被“独享百兆”、“不限流量”等低价宣传迷惑,最终却陷入网络拥堵、IP被封、售后失联的困境,真正的高性价比租用,不是看标称数值的大小,而是看服务商能否提供持续、稳定、合规的网络环境,选择像……

    2026年3月7日
    14700
  • Xshell常用命令有哪些?Xshell命令大全及快捷键

    Xshell 的核心价值在于提供稳定高效的远程终端连接,掌握其常用命令与配置技巧,能显著提升服务器运维效率并减少连接中断风险,在 Linux 服务器管理领域,Xshell 凭借其对 UTF-8 编码的良好支持以及会话管理的便捷性,成为了许多系统管理员和开发者的首选工具,它不仅仅是一个简单的命令行客户端,更是一个……

    2026年6月19日
    1800
  • 互联网区块链数据连接方案如何解决?区块链数据连接解决方案

    互联网区块链数据连接的核心在于通过中间件实现异构系统间的可信交互,目前主流方案采用联盟链结合零知识证明技术,在保障数据隐私的同时降低跨链成本,适合金融、供应链等对数据一致性要求极高的场景,为什么传统数据连接在区块链时代失效过去,企业系统之间通过API或数据库直连就能完成数据同步,这种模式在中心化架构下效率极高……

    网络与线路 2026年6月1日
    4100

发表回复

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

评论列表(1条)

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

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