当前位置: 首页 > article >正文

【零基础部署】Ubuntu 安装 Docker 保姆级教程

Docker 是当今最流行的容器化平台之一它能让你把应用及其依赖打包到一个轻量级的容器中运行。无论你是想搭建开发环境、部署服务还是学习云原生技术Docker 都是必备技能。本文将手把手带你从零开始在 Ubuntu 系统上完成 Docker 的安装与配置。1. 适用范围与前置条件本教程适用于 Ubuntu 20.04、22.04 和 24.04 等主流 LTS 版本。开始之前请确保你满足以下条件拥有一台安装了 Ubuntu 系统的电脑或服务器拥有sudo权限即管理员权限拥有稳定的网络连接如果你使用的是云服务器一般默认就具备sudo权限直接连接终端即可操作。2. 卸载旧版本 Docker如果你之前安装过旧版 Docker 或相关组件建议先将其卸载避免版本冲突。如果从未安装过这一步也可以执行不会有任何影响。sudoaptremovedockerdocker-engine docker.io containerd runc执行完成后系统中残留的旧版 Docker 相关包会被清理干净。3. 安装必要的依赖包在添加 Docker 官方源之前需要先安装一些基础工具它们能帮助系统安全地访问和管理软件仓库。sudoaptupdatesudoaptinstall-yapt-transport-https ca-certificatescurlsoftware-properties-common这几个包的作用分别是apt-transport-https让 APT 能通过 HTTPS 协议访问软件源ca-certificates提供 CA 证书确保下载安全curl命令行下载工具后续添加 GPG 密钥时会用到software-properties-common提供管理软件源的辅助工具4. 添加 Docker 官方 GPG 密钥GPG 密钥用于验证从 Docker 官方仓库下载的软件包是否被篡改是保障安全性的重要步骤。curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-如果终端返回OK说明密钥添加成功。注意在较新的 Ubuntu 版本中apt-key已被标记为过时。但目前它仍然可以正常工作。如果你希望使用更现代的方式可以将密钥存放到/etc/apt/keyrings/目录下后续步骤会用到此路径。5. 添加 Docker APT 软件源接下来需要将 Docker 官方仓库添加到系统的软件源列表中这样你才能通过apt install来安装最新版 Docker。echodeb [arch$(dpkg --print-architecture)signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable|sudotee/etc/apt/sources.list.d/docker.list/dev/null这条命令会自动识别你的系统架构amd64 或 arm64和 Ubuntu 版本代号如 jammy、noble无需手动修改。如果你在上一步使用了apt-key add也可以用以下简化版本sudoadd-apt-repositorydeb [arch$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable添加完成后更新一下软件包索引sudoaptupdate6. 安装 Docker 及相关组件现在可以正式安装 Docker 了。以下命令会安装 Docker 引擎、CLI 客户端、containerd 运行时以及 BuildKit 构建工具和 Docker Compose 插件。sudoaptinstall-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin各组件说明docker-ceDocker 社区版引擎Community Edition核心组件docker-ce-cliDocker 命令行工具用来执行各种 Docker 命令containerd.io容器运行时负责实际的容器生命周期管理docker-buildx-plugin增强的构建插件支持多平台构建docker-compose-pluginDocker Compose 插件用于编排多容器应用7. 启动并设置 Docker 开机自启安装完成后需要手动启动 Docker 服务并将其设置为开机自动启动这样每次重启服务器后 Docker 都能自动运行。sudosystemctl startdockersudosystemctlenabledocker你可以用以下命令检查 Docker 服务的运行状态sudosystemctl statusdocker如果看到active (running)字样说明 Docker 已经成功启动。8. 将当前用户添加到 docker 组默认情况下执行 Docker 命令需要sudo权限。为了方便日常使用可以将当前用户添加到docker用户组这样以后使用 Docker 就不再需要输入sudo。sudousermod-aGdocker$USER执行后需要注销并重新登录才能生效。如果你是通过 SSH 连接的服务器退出后重新连接即可。⚠️ 注意将用户加入docker组等同于赋予其 root 级别的容器操作权限请确保你信任该用户。在生产环境中要谨慎使用。重新登录后你可以不加sudo直接执行 Docker 命令来验证dockerps如果没有报错permission denied说明配置成功。9. 配置国内镜像加速由于 Docker 默认的镜像仓库Docker Hub位于海外在国内拉取镜像时速度可能很慢甚至无法连接。配置国内镜像加速器可以显著提升镜像下载速度。编辑或创建 Docker 的配置文件sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json-EOF { registry-mirrors: [ https://docker.xuanyuan.me, https://docker.1ms.run, https://docker.m.daocloud.io ] } EOF这里配置了三个国内镜像源Docker 会按顺序尝试使用。如果某个镜像不可用会自动切换到下一个。配置完成后需要重启 Docker 服务使配置生效sudosystemctl daemon-reloadsudosystemctl restartdocker10. 验证安装是否成功万事俱备让我们运行一个测试容器来验证 Docker 是否安装成功。dockerrun hello-world如果看到类似以下的输出信息恭喜你Docker 已经安装成功Hello from Docker! This message shows that your installation appears to be working correctly.这条命令的工作原理是Docker 会自动从镜像仓库拉取hello-world镜像创建一个容器并运行容器会打印一段欢迎信息后自动退出。你还可以用以下命令确认 Docker 版本和系统信息dockerversiondockerinfo11. 常见问题排查Q执行docker run hello-world时提示permission denied怎么办A说明你还没有将用户添加到docker组或者添加后还没有重新登录。请确认已执行sudo usermod -aG docker $USER并注销重新登录。Q拉取镜像时一直超时怎么办A请检查是否正确配置了镜像加速器参见第 9 步。配置完成后记得重启 Docker 服务。如果仍然超时可以尝试更换其他镜像源。Q提示Unable to locate package docker-ce怎么办A说明 Docker 软件源没有正确添加。请检查/etc/apt/sources.list.d/目录下是否有docker.list文件并确认文件内容中的 Ubuntu 版本代号是否正确。运行lsb_release -cs可以查看当前系统的代号。12. 总结到这里你已经完成了 Ubuntu 上 Docker 的完整安装与配置。让我们回顾一下关键步骤卸载旧版本避免冲突安装基础依赖工具添加 Docker 官方 GPG 密钥和软件源安装 Docker 引擎及相关组件启动服务并设置开机自启将用户添加到docker组以简化操作配置国内镜像加速提升下载速度运行hello-world验证安装接下来你可以开始学习 Docker 的核心操作比如拉取镜像、运行容器、编写 Dockerfile 等。祝你容器化之旅愉快

相关文章:

【零基础部署】Ubuntu 安装 Docker 保姆级教程

Docker 是当今最流行的容器化平台之一,它能让你把应用及其依赖打包到一个轻量级的容器中运行。无论你是想搭建开发环境、部署服务,还是学习云原生技术,Docker 都是必备技能。本文将手把手带你从零开始,在 Ubuntu 系统上完成 Docke…...

终极指南:5分钟免费解锁Cursor Pro全部功能的完整解决方案

终极指南:5分钟免费解锁Cursor Pro全部功能的完整解决方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your…...

产品兼容性实战:硬件与软件设计的平衡艺术与工程策略

1. 产品兼容性:一个永恒的工程与商业困境在硬件开发,尤其是数据采集、测试测量这类领域里,产品经理和工程师们几乎每天都在面对一个看似无解的难题:新产品的功能要向前狂奔,但老用户的兼容性需求却像一根锚&#xff0c…...

终极矢量图标库完全指南:Remix Icon 3200+免费图标深度解析

终极矢量图标库完全指南:Remix Icon 3200免费图标深度解析 【免费下载链接】RemixIcon Open source neutral style icon system 项目地址: https://gitcode.com/gh_mirrors/re/RemixIcon Remix Icon 是一套开源的矢量图标库,包含超过3200个精心设…...

嵌入式处理器IP选型指南:从ARM到RISC-V的权衡与实战

1. 从一场早餐会聊起:为什么32位处理器IP依然是嵌入式开发的硬通货最近在整理资料时,翻到一篇十多年前的老新闻,说的是IP供应商CAST要在DesignCon 2012上办一场免费的早餐研讨会,主题是他们新推出的BA22 32位处理器IP核。新闻里笔…...

AI 搜索重新重视来源:内容平台的新机会不是被点击,而是被正确引用

生成式搜索刚出现时,很多内容创作者最担心的问题是:如果答案直接出现在搜索页,用户还会不会点进原文?这个担心并不多余。AI Overviews、AI Mode 和各类答案引擎,确实改变了“搜索结果页到网页”的传统路径。但现在更值…...

3分钟搞定Axure RP中文界面:全版本汉化终极指南

3分钟搞定Axure RP中文界面:全版本汉化终极指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文…...

Loop:Mac窗口管理的终极免费解决方案,告别杂乱桌面

Loop:Mac窗口管理的终极免费解决方案,告别杂乱桌面 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否曾为Mac上杂乱的窗口而烦恼?当多个应用同时打开时&#xff…...

百度网盘Mac版加速插件:突破下载限制的实用方案

百度网盘Mac版加速插件:突破下载限制的实用方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 对于经常使用百度网盘的Mac用户来说&#x…...

AI编程助手与代码质量守护:Trunk Cursor插件实战指南

1. 项目概述:当AI编程助手遇上代码质量守护者如果你和我一样,日常重度依赖Cursor这类AI编程助手来加速开发,那么你一定也遇到过类似的困扰:AI生成的代码片段虽然功能上“能用”,但在代码风格、格式一致性、甚至是潜在的…...

Erupt 七年最有诚意升级:官网、文档、脚手架更新,迈向工业级开源生态!

一、写在前面:为什么这次更新值得你重新认识 Erupt?过去几年,Erupt 一直被打上“功能强但太朴素”的标签。注解驱动、AI 模块、多 UI 模板、Cloud 集群、AI Agent,内核卷到飞起,但官网、文档、脚手架这“门面三件套”始…...

RevokeMsgPatcher实战指南:Windows微信QQ防撤回的终极秘籍

RevokeMsgPatcher实战指南:Windows微信QQ防撤回的终极秘籍 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcod…...

声明式数据转换利器:Refiner 实战指南与架构集成

1. 项目概述与核心价值最近在折腾一个老项目的数据清洗和转换,被一堆格式混乱、结构不一的JSON文件搞得焦头烂额。手动写脚本处理吧,每次需求一变就得重写,维护成本太高;用现成的ETL工具吧,又觉得过于笨重,…...

Python 3.14.5 发布:多项改进,垃圾回收器回滚,还有这些新特性!

Python 3.14.5 发布Python 3.14.5 现已发布,这是 3.14 的第五个维护版本。自 3.14.4 以来,包含约 154 项错误修复、构建改进和文档更改。垃圾回收器回滚值得注意的是,Python 3.14.5 中的垃圾回收器 (GC) 发生了变化。由于一些原因&#xff0c…...

手机号到QQ号查询技术实现原理与TEA加密通信架构解析

手机号到QQ号查询技术实现原理与TEA加密通信架构解析 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq phone2qq是一个基于Python实现的逆向工程工具,通过分析腾讯QQ客户端的通信协议,实现了通过手机号查询对应…...

从Kaggle竞赛到现实应用:聊聊ResNet18在驾驶安全监控中的潜力与局限

从Kaggle竞赛到现实应用:ResNet18在驾驶安全监控中的潜力与局限 当计算机视觉技术走出实验室,真正进入驾驶安全监控这样的关键场景时,我们需要思考的远不止模型在测试集上的准确率。ResNet18作为轻量级深度网络的代表,其在Kaggle竞…...

3步解锁网易云音乐NCM加密文件:ncmdumpGUI图形化工具完全指南

3步解锁网易云音乐NCM加密文件:ncmdumpGUI图形化工具完全指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否在网易云音乐下载了喜欢的歌曲…...

AI编码助手配置框架:六层缰绳架构实现团队规范与上下文持久化

1. 项目概述:为什么你的AI编码助手总像个“健忘的实习生”? 如果你和我一样,已经深度使用Claude Code、Cursor这类AI编码助手超过半年,那你一定经历过这种“血压升高”的时刻:明明昨天刚跟它详细解释过项目的架构规范…...

利用Taotoken模型广场为内容生成应用挑选合适模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken模型广场为内容生成应用挑选合适模型 对于开发内容生成类应用的团队而言,选择合适的模型是项目成功的关键…...

Avogadro 2:开源分子可视化库的终极技术解析

Avogadro 2:开源分子可视化库的终极技术解析 【免费下载链接】avogadrolibs Avogadro libraries provide 3D rendering, visualization, analysis and data processing useful in computational chemistry, molecular modeling, bioinformatics, materials science,…...

连接器选型五大雷区:从故障数据到设计落地的实战手册

许多硬件团队的失效分析报告显示,连接器引发的现场故障占比长期居高不下,且症状极其隐蔽——间歇性黑屏、信号丢包、热插拔烧毁……这些问题往往在原型测试阶段难以复现,直到批量出货后才集中爆发。本文从电源、高速信号、射频三类典型应用出…...

面向非技术人员的AI智能体实战:零代码自动化工作流构建指南

1. 项目概述:面向非工程师的AI智能体实战训练营如果你是一名市场、销售、运营或行政人员,每天被重复性的文档处理、数据分析、内容制作和跨平台沟通所淹没,看着工程师同事用代码自动化一切,自己却只能手动操作,那么你很…...

为OpenClaw智能体工作流配置Taotoken作为稳定后端API

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken作为稳定后端API OpenClaw是一个用于构建智能体工作流的流行框架,它允许开发者通过…...

ModuleNotFoundError: No module named ‘ui_form‘

问题描述:在QT CREATER创建一个新的python QT项目后,若无法直接编译而是报错如下:解决办法: 在该项目的目录下输入cmd,打开命令行窗口——然后输入pyside6-uic form.ui -o ui_form.py 运行即可正常编译 (若…...

终极指南:5分钟让Illustrator批量替换效率提升10倍

终极指南:5分钟让Illustrator批量替换效率提升10倍 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Adobe Illustrator中繁琐的批量替换工作而烦恼吗?&…...

终极指南:轻松突破Cursor Pro限制,实现永久免费使用

终极指南:轻松突破Cursor Pro限制,实现永久免费使用 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached…...

ComfyUI-FramePackWrapper终极指南:8GB显存玩转高质量AI视频生成

ComfyUI-FramePackWrapper终极指南:8GB显存玩转高质量AI视频生成 【免费下载链接】ComfyUI-FramePackWrapper 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-FramePackWrapper 想要在有限硬件条件下实现专业级AI视频生成吗?ComfyUI-Fram…...

ChromaControl终极指南:如何实现多品牌RGB设备统一灯光控制

ChromaControl终极指南:如何实现多品牌RGB设备统一灯光控制 【免费下载链接】ChromaControl 3rd party device lighting support for Razer Synapse. 项目地址: https://gitcode.com/gh_mirrors/ch/ChromaControl 你是否曾为不同品牌的RGB设备需要安装多个控…...

ARM PMU性能监控单元架构与PMEVTYPER寄存器详解

1. ARM PMU性能监控单元架构解析性能监控单元(Performance Monitoring Unit, PMU)是现代ARM处理器中用于硬件级性能分析的关键组件。作为芯片上的专用硬件计数器,PMU能够在不显著影响程序执行效率的前提下,实时捕获各类微架构事件。与软件层面的性能分析…...

RANSAC算法调参指南:迭代次数和容差阈值到底怎么设?附Python/Matlab实例

RANSAC算法实战调参手册:从理论到代码的深度解析 在三维重建、自动驾驶和工业检测等机器视觉应用中,数据噪声和异常值一直是模型拟合的噩梦。传统最小二乘法就像一位过分认真的学生,试图让所有数据点都满意,结果却被少数离群点带偏…...