Ubuntu 22.04 安装 Docker 完整步骤(附镜像加速配置)

Ubuntu 22.04 安装 Docker 完整步骤(附镜像加速配置)

Ubuntu 22.04 安装 Docker 完整步骤(附镜像加速配置)

摘要

Docker 作为容器化技术的核心工具,凭借轻量、可移植、隔离性强的特性,已成为开发者部署应用、运维人员管理服务的必备工具。Ubuntu 22.04 LTS 作为长期支持版本,具备稳定、兼容的优势,是 Docker 部署的优选系统。本文将从环境准备、Docker 核心组件安装、配置验证、镜像加速优化、常见问题排查五个维度,提供详细且可复现的完整步骤,包含规范代码段、操作流程图解及实用技巧,同时规避 Ubuntu 22.04 系统下的安装陷阱,帮助新手快速上手 Docker 部署,助力开发者提升应用交付效率。无论是个人开发测试场景,还是小型生产环境部署,都能通过本文内容实现 Docker 的快速落地与优化。


🚀 个人主页有点流鼻涕 · ZEEKLOG
💬 座右铭 :“向光而行,沐光而生。”
在这里插入图片描述

1. 引言:Docker 与 Ubuntu 22.04 适配性说明

Docker 采用客户端-服务器(C/S)架构,核心组件包括 Docker Client(客户端)、Docker Daemon(守护进程)、Docker Image(镜像)、Docker Container(容器)等。Ubuntu 22.04 LTS(Jammy Jellyfish)作为 2022 年发布的长期支持版本,官方对其提供至 2027 年的安全更新与维护,与 Docker 最新稳定版(Docker Engine - Community)具备完美适配性,无需额外修改系统内核参数即可正常运行。

相较于旧版本 Ubuntu 系统,Ubuntu 22.04 内置的内核版本(5.15.x)已原生支持 Docker 所需的容器化特性,无需手动升级内核;同时,系统默认的软件源与 Docker 官方源兼容性更强,可有效减少安装过程中的依赖冲突问题。本文将严格遵循 Docker 官方安装指南,结合 Ubuntu 22.04 系统特性,提供最可靠的安装流程,同时补充国内用户必备的镜像加速配置,解决官方镜像拉取缓慢、超时等痛点。

2. 环境准备:Ubuntu 22.04 系统前置配置

在安装 Docker 前,需完成系统更新、依赖安装、旧版本清理等前置操作,确保安装环境纯净、稳定,避免后续出现兼容性问题。

2.1 切换至 root 用户(可选,推荐)

为避免频繁使用 sudo 命令导致权限问题,建议切换至 root 用户操作,或确保当前用户具备 sudo 权限。

# 切换至 root 用户(输入当前用户密码)sudo-i# 验证是否切换成功(命令行前缀变为 root@xxx)whoami

2.2 系统更新与升级

更新系统软件包索引,升级已安装的软件包至最新版本,修复系统潜在漏洞,确保依赖库版本兼容。

# 更新软件包索引apt update # 升级已安装软件包(按提示输入 Y 确认)apt upgrade -y# 清理无用依赖包(可选,释放磁盘空间)apt autoremove -yapt clean 

2.3 安装必要依赖包

安装 Docker 所需的依赖包,包括 apt 传输加密、CA 证书、软件源管理工具等,确保能通过 HTTPS 访问 Docker 官方源。

aptinstall-y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release 

各依赖包作用说明:

  • apt-transport-https:允许 apt 通过 HTTPS 协议获取软件包;
  • ca-certificates:提供 CA 证书,确保 HTTPS 连接的安全性;
  • curl:用于下载 Docker 官方 GPG 密钥;
  • software-properties-common:提供添加、管理软件源的工具;
  • gnupg:用于验证软件包的签名,确保软件包完整性。

2.4 清理旧版本 Docker(若已安装)

若系统中已安装旧版本 Docker(如 docker、docker.io、docker-compose 等),需先卸载,避免与新版本冲突。Ubuntu 22.04 默认软件源中的 Docker 版本较旧,不推荐使用,建议卸载后通过官方源安装最新版。

# 卸载旧版本 Docker 及相关组件apt remove -ydocker docker-engine docker.io containerd runc docker-compose docker-compose-plugin # 清理残留文件(确保环境纯净)rm-rf /var/lib/docker rm-rf /var/lib/containerd 

3. Docker 安装:官方推荐步骤(分组件详解)

本文采用 Docker 官方推荐的安装方式,通过添加 Docker 官方软件源,安装最新稳定版 Docker Engine - Community,同时安装 Docker Compose(容器编排工具),满足多容器部署需求。

3.1 添加 Docker 官方 GPG 密钥

下载 Docker 官方 GPG 密钥并添加至系统信任列表,确保后续从官方源获取的软件包未被篡改。

# 下载 Docker 官方 GPG 密钥并添加至 apt 信任密钥环curl-fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor-o /usr/share/keyrings/docker-archive-keyring.gpg # 验证密钥(可选,确保密钥正确) gpg --no-default-keyring --keyring /usr/share/keyrings/docker-archive-keyring.gpg --list-keys 

验证成功后,会显示 Docker 官方密钥信息,包含密钥指纹、发布者等内容,确认无误后继续下一步。

3.2 添加 Docker 官方软件源

将 Docker 官方软件源添加至 Ubuntu 系统的软件源列表,后续通过 apt 命令即可安装最新版 Docker。

# 添加 Docker 官方源(适配 Ubuntu 22.04 系统,代号 jammy)echo"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"|tee /etc/apt/sources.list.d/docker.list > /dev/null 

参数说明:

  • arch=$(dpkg --print-architecture):自动适配系统架构(如 x86_64、arm64 等);
  • signed-by:指定密钥文件路径,确保软件源验证通过;
  • $(lsb_release -cs):自动获取系统代号(Ubuntu 22.04 为 jammy);
  • stable:表示安装稳定版 Docker,如需测试版可改为 test。

3.3 安装 Docker Engine 与相关组件

更新软件包索引(使系统识别新增的 Docker 源),然后安装 Docker Engine、Containerd(容器运行时)、Docker Compose 等核心组件。

# 更新软件包索引(包含 Docker 官方源)apt update # 安装 Docker 核心组件(最新稳定版)aptinstall-y docker-ce docker-ce-cli containerd.io docker-compose-plugin 

各组件作用:

  • docker-ce:Docker Engine 社区版,核心守护进程与工具;
  • docker-ce-cli:Docker 命令行客户端,用于与 Docker Daemon 交互;
  • containerd.io:高性能容器运行时,负责容器的创建、运行、销毁等生命周期管理;
  • docker-compose-plugin:Docker Compose 插件,支持通过 YAML 文件编排多容器应用。

3.4 验证 Docker 安装是否成功

安装完成后,启动 Docker 服务并运行官方测试镜像(hello-world),验证 Docker 是否能正常工作。

# 启动 Docker 服务 systemctl start docker# 运行 hello-world 测试镜像(自动拉取镜像并创建容器)docker run hello-world 

若输出以下内容,说明 Docker 安装成功:

Hello from Docker!

This message shows that your installation appears to be working correctly.

该信息表示 Docker 成功拉取 hello-world 镜像,创建并运行容器,容器执行完成后自动退出,验证了 Docker 客户端、守护进程、镜像仓库交互等功能均正常。

4. Docker 基础操作与验证

掌握 Docker 基础操作,可快速管理镜像、容器、服务,以下为常用命令及示例,帮助新手快速上手。

4.1 镜像管理命令

# 拉取镜像(以 nginx 为例)docker pull nginx # 查看本地已拉取的镜像docker images # 删除指定镜像(通过镜像ID或名称)docker rmi nginx:latest # 按名称删除docker rmi 1234567890ab # 按镜像ID删除# 搜索镜像(从 Docker Hub 搜索)docker search mysql 

4.2 容器管理命令

# 创建并运行容器(以 nginx 为例,后台运行,映射端口 80:80)docker run -d--name my-nginx -p80:80 nginx # 查看运行中的容器dockerps# 查看所有容器(包含已停止的)dockerps-a# 停止容器docker stop my-nginx # 启动已停止的容器docker start my-nginx # 重启容器docker restart my-nginx # 删除容器(需先停止容器,强制删除加 -f 参数)dockerrm my-nginx dockerrm-f my-nginx # 强制删除运行中的容器# 进入容器内部(交互式终端)dockerexec-it my-nginx /bin/bash 

4.3 Docker 版本与信息查看

# 查看 Docker 版本信息docker--versiondocker version # 详细版本信息(客户端与守护进程)# 查看 Docker 系统信息(包含镜像、容器数量,运行时等)docker info 

5. 镜像加速配置:解决国内拉取镜像缓慢问题

由于 Docker 官方镜像仓库(Docker Hub)位于海外,国内用户直接拉取镜像时,常出现速度缓慢、超时失败等问题。通过配置国内镜像加速器,可大幅提升镜像拉取速度,常用的国内加速器包括阿里云、网易云、Docker 中国官方镜像等。本文以阿里云镜像加速器为例,提供详细配置步骤,同时补充其他加速器备选方案。

5.1 阿里云镜像加速器配置(推荐)

阿里云镜像加速器为国内用户提供免费的镜像加速服务,需先注册阿里云账号并获取专属加速地址。

5.1.1 获取阿里云专属加速地址
  1. 访问阿里云官网(https://www.aliyun.com/),注册并登录账号;
  2. 搜索“容器镜像服务 ACR”,进入控制台;
  3. 在左侧导航栏选择“镜像工具”→“镜像加速器”,即可获取专属加速地址(如 https://xxx.mirror.aliyuncs.com),不同账号的加速地址不同。
5.1.2 配置镜像加速器

创建 Docker 配置目录,编写 daemon.json 配置文件,添加镜像加速地址。

# 创建 Docker 配置目录(若不存在)mkdir-p /etc/docker # 编写镜像加速配置文件(替换为自己的阿里云加速地址)tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] } EOF# 重新加载 Docker 配置文件 systemctl daemon-reload # 重启 Docker 服务(使配置生效) systemctl restart docker

5.2 其他国内镜像加速器备选方案

若无法获取阿里云加速地址,可使用以下免费镜像加速器:

  • 网易云镜像加速器:https://hub-mirror.c.163.com
  • Docker 中国官方镜像(已停止维护,仅作备选):https://registry.docker-cn.com
  • 华为云镜像加速器:https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com(需注册华为云账号)

配置多个加速器时,可在 daemon.json 文件中添加多个地址,示例如下:

{"registry-mirrors":["https://xxx.mirror.aliyuncs.com","https://hub-mirror.c.163.com"]}

5.3 验证镜像加速是否生效

重启 Docker 服务后,通过 docker info 命令查看配置是否生效,若输出中包含配置的镜像加速器地址,说明配置成功。

# 查看 Docker 信息,验证镜像加速配置docker info |grep"Registry Mirrors"

输出结果如下(显示配置的加速地址):

Registry Mirrors:

https://xxx.mirror.aliyuncs.com/

https://hub-mirror.c.163.com/

此时拉取镜像(如 docker pull nginx),速度会显著提升,避免超时问题。

6. Docker 服务管理与开机自启配置

为确保 Docker 服务在系统重启后自动运行,需配置 Docker 开机自启,同时掌握服务启停、状态查看等管理命令,便于日常运维。

# 查看 Docker 服务状态 systemctl status docker# 启动 Docker 服务 systemctl start docker# 停止 Docker 服务 systemctl stop docker# 重启 Docker 服务 systemctl restart docker# 配置 Docker 开机自启 systemctl enabledocker# 取消 Docker 开机自启 systemctl disable docker# 查看 Docker 服务开机自启状态 systemctl is-enabled docker

配置开机自启后,可通过重启系统验证是否生效:

# 重启系统reboot# 重启后查看 Docker 服务是否自动运行 systemctl status docker

若服务状态显示为 active (running),说明开机自启配置成功。

7. 常见问题与解决方案

在 Ubuntu 22.04 安装 Docker 过程中,可能遇到依赖冲突、权限不足、镜像拉取失败等问题,以下为常见问题及针对性解决方案,帮助快速排查故障。

7.1 问题1:添加 Docker 源后,apt update 报错 “GPG 错误”

报错信息:W: GPG error: https://download.docker.com/linux/ubuntu jammy InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY XXXXXXXX

解决方案:重新导入 Docker 官方 GPG 密钥,确保密钥正确。

# 重新下载并导入 GPG 密钥curl-fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor-o /usr/share/keyrings/docker-archive-keyring.gpg # 再次更新软件包索引apt update 

7.2 问题2:运行 docker 命令时,提示 “Permission denied” 权限不足

报错信息:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: …

解决方案:将当前用户添加至 docker 用户组,避免使用 root 用户操作。

# 将当前用户添加至 docker 组usermod-aGdocker$USER# 注销当前用户并重新登录(使权限生效)logout# 重新登录后,验证权限(无需 sudo 即可运行 docker 命令)dockerps

7.3 问题3:镜像加速配置后,拉取镜像仍缓慢或超时

可能原因:加速地址失效、网络环境限制、Docker 配置未生效。

解决方案

  1. 更换其他国内镜像加速器(如网易云、华为云);
  2. 重新加载配置并重启 Docker 服务:
 systemctl daemon-reload systemctl restart docker
  1. 检查网络连接,确保能正常访问加速地址(可通过 curl 测试):
curl https://hub-mirror.c.163.com 

7.4 问题4:Docker 服务启动失败,提示 “containerd 服务未运行”

报错信息:Job for docker.service failed because the control process exited with error code.

解决方案:启动 containerd 服务并配置开机自启,再重启 Docker 服务。

# 启动 containerd 服务 systemctl start containerd # 配置 containerd 开机自启 systemctl enable containerd # 重启 Docker 服务 systemctl restart docker# 查看 Docker 服务状态 systemctl status docker

8. 操作流程图解

8.1 Ubuntu 22.04 安装 Docker 完整流程图

开始

环境准备

切换 root 用户/确认 sudo 权限

系统更新与升级:apt update && apt upgrade -y

安装必要依赖包

清理旧版本 Docker(若有)

安装 Docker 核心组件

下载 Docker 官方 GPG 密钥

添加 Docker 官方软件源

更新索引并安装 Docker 组件

验证安装

启动 Docker 服务:systemctl start docker

运行 hello-world 镜像:docker run hello-world

安装成功?

排查问题(参考常见问题章节)

配置镜像加速

获取国内镜像加速地址

编写 daemon.json 配置文件

重载配置并重启 Docker

验证加速配置生效

配置开机自启

完成,开始使用 Docker

8.2 Docker 镜像拉取流程(含加速配置)

网络超时

镜像不存在

权限问题

发起镜像拉取命令:docker pull 镜像名

Docker 客户端解析命令

是否配置镜像加速器?

从配置的国内加速器拉取镜像

直接从 Docker Hub 拉取镜像

拉取成功?

镜像存储至本地仓库,供容器使用

问题类型?

更换镜像加速器,重试拉取

检查镜像名称与标签是否正确

确认用户是否在 docker 组,或使用 sudo

9. 总结与拓展建议

9.1 核心总结

本文详细介绍了 Ubuntu 22.04 系统下 Docker 的完整安装流程,从环境准备、官方源安装、基础验证,到镜像加速配置、服务管理,覆盖了从部署到优化的全流程。关键要点如下:

  • Ubuntu 22.04 与 Docker 兼容性极佳,无需额外升级内核,按官方步骤安装即可稳定运行;
  • 安装前需清理旧版本 Docker 及残留文件,避免依赖冲突,确保环境纯净;
  • 国内用户必须配置镜像加速器,解决海外镜像拉取缓慢问题,推荐使用阿里云加速器;
  • 配置 Docker 开机自启,确保系统重启后服务自动恢复,适配生产环境需求。

9.2 拓展建议

完成 Docker 安装后,可进一步学习以下内容,提升容器化应用管理能力:

  • Docker Compose 实战:学习通过 docker-compose.yml 文件编排多容器应用(如 Nginx + MySQL + 后端服务),实现一键部署;
  • Docker 镜像制作:掌握 Dockerfile 编写方法,自定义应用镜像,优化镜像体积与安全性;
  • 容器网络与存储:了解 Docker 桥接网络、自定义网络配置,以及数据卷(Volume)使用,实现容器数据持久化;
  • 容器化部署实战:尝试将个人项目(如 Python、Java 应用)容器化,部署至 Ubuntu 22.04 系统,熟悉完整部署流程;
  • Kubernetes 入门:若需大规模容器集群管理,可进一步学习 Kubernetes(K8s),实现容器的自动化部署、扩展与运维。

10. 相关资源链接

  1. Docker 官方安装文档(Ubuntu 版)
  2. 阿里云镜像加速器官方指南
  3. Docker 官方文档(基础操作)
  4. Docker Compose 官方文档
  5. Ubuntu 22.04 官方文档(容器相关)

Read more

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战 1.1 本章学习目标与重点 💡 学习目标:掌握大语言模型的核心原理、训练流程与微调方法,学会基于开源大语言模型完成定制化对话与文本生成任务。 💡 学习重点:理解大语言模型的Transformer decoder-only架构,掌握指令微调与RLHF技术,能够使用LoRA高效微调开源LLM。 1.2 大语言模型的核心概念与发展历程 1.2.1 什么是大语言模型 💡 大语言模型(Large Language Model, LLM)是参数量达到十亿级甚至万亿级的Transformer-based模型。它通过在海量文本数据上进行预训练,学习语言的语法、语义、常识和推理能力。 LLM的核心能力包括文本生成、理解、翻译、摘要、问答等。它可以处理复杂的自然语言任务,无需针对每个任务单独设计模型结构。 LLM与传统NLP模型的核心区别: * 参数量级:传统模型参数量通常在千万级,LLM参数量可达十亿到万亿级。 * 训练数据:传统模型依赖标注数据,LLM使用海量无标注文本进行预训练。 * 能力边界:传统模型只能处理单一任务,LL

By Ne0inhk
人工智能:自然语言处理在金融领域的应用与实战

人工智能:自然语言处理在金融领域的应用与实战

自然语言处理在金融领域的应用与实战 学习目标 💡 理解自然语言处理(NLP)在金融领域的应用场景和重要性 💡 掌握金融领域NLP应用的核心技术(如文本分类、情感分析、风险评估) 💡 学会使用前沿模型(如BERT、GPT-3、Transformer)进行金融文本分析 💡 理解金融领域的特殊挑战(如数据敏感性、实时性要求高、语言专业性强) 💡 通过实战项目,开发一个金融新闻情感分析应用 重点内容 * 金融领域NLP应用的场景 * 核心技术(文本分类、情感分析、风险评估) * 前沿模型(BERT、GPT-3、Transformer)在金融领域的使用 * 金融领域的特殊挑战 * 实战项目:金融新闻情感分析应用开发 一、金融领域NLP应用场景 1.1 金融文本分析概述 金融领域是NLP技术应用的重要领域之一。金融文本数据包括新闻报道、公司公告、分析师报告、社交媒体评论等,这些数据蕴含着丰富的信息,可以帮助金融机构和投资者了解市场动态、评估风险、做出决策。 1.1.

By Ne0inhk
突破界限!多模态AI如何重塑人机交互的未来?

突破界限!多模态AI如何重塑人机交互的未来?

突破界限!多模态AI如何重塑人机交互的未来? 摘要:本文深入探讨多模态AI技术如何颠覆传统人机交互模式。通过分析视觉-语言-语音融合架构、跨模态对齐技术及动态上下文感知机制三大核心技术,结合Qwen-VL、Gemini等主流模型的实践案例,揭示多模态交互在医疗诊断、工业质检、智能座舱等场景的落地路径。文章包含5个可运行的Python代码示例、3张技术架构图及多模型性能对比表,助开发者快速掌握多模态系统的构建方法论。最后提出技术伦理三问,引发对AI交互未来的深度思考。 引言:一次失败的语音交互引发的技术觉醒 上周在为某三甲医院部署AI问诊系统时,我遭遇了典型单模态交互的局限:当患者描述**“左胸持续性闷痛,深呼吸时加重”** 时,语音助手仅建议心内科就诊。但实际现场视频显示患者左手持续按压右肋下,结合电子病历中的脂肪肝病史,最终确诊为胆囊炎急性发作。这次经历让我深刻意识到——纯文本或语音的交互正在成为历史。 本文将用亲身踩坑经验,带你: 1. 拆解多模态AI的核心架构(含3层融合机制) 2. 实战5个即插即用的代码模块(视觉定位+语音情感识别) 3. 揭秘医疗/工业/车

By Ne0inhk

Altium Designer + AI:智能PCB设计新革命

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框内输入如下内容: 创建一个演示AI辅助PCB设计的项目,展示Altium Designer中AI自动布线、元件优化布局和设计规则检查功能。项目应包含一个典型双面PCB设计案例,演示AI如何根据电路复杂度自动优化走线路径,减少交叉和过孔数量,同时满足EMC设计要求。提供可视化对比展示AI优化前后的设计差异,并生成性能对比报告。 最近在做一个双面PCB项目时,尝试了Altium Designer的AI辅助功能,发现它确实能大幅提升设计效率。作为一个经常被布线折磨的硬件工程师,这次体验让我对AI在电子设计自动化领域的应用有了全新认识。 1. 传统PCB设计流程的痛点 以前完成一个中等复杂度的双面板设计,至少需要3-5天时间。最耗时的环节就是手动布线和反复调整元件布局: * 需要不断切换层间过孔来避免走线交叉 * 高频信号线要手动做阻抗匹配和等长处理 * 每次修改原理图后都要重新调整大片走线 2. AI带来的三

By Ne0inhk