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

昇腾 (Ascend) NPU 实战指南:在 GitCode Notebook 中玩转 CodeLlama

昇腾 (Ascend) NPU 实战指南:在 GitCode Notebook 中玩转 CodeLlama

1.前言 随着大模型技术在软件开发领域的深入应用,越来越多的开发者开始尝试在本地或云端环境部署代码生成模型。华为昇腾(Ascend)计算产业随着 CANN 软件栈的不断成熟,已成为运行各类开源 LLM 的重要算力底座。 本文将以 CodeLlama 这一广受欢迎的代码生成模型为核心,结合 GitCode Notebook 提供的在线开发环境,讲解如何在本地或服务器的昇腾 NPU 环境中完成从依赖配置、模型加载到代码生成的完整流程。文章将通过结构化的流程讲解与可操作的示例代码,引导你在昇腾生态中顺利完成 CodeLlama 的部署与运行。 接下来我们就开始进行动手实践吧。 GitCode官网:https://gitcode.com/。 2.GitCode Notebook 环境准备 GitCode 是面向中国开发者的一站式代码协作与模型应用平台,集成了开源仓库托管、在线运行环境、模型中心等能力。其中的 GitCode Notebook 提供了无需本地配置的云端交互式开发环境,支持直接在浏览器中编写、运行和调试代码,非常适合进行大模型试验与算子验证。 进入Gitcode官网

By Ne0inhk
深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验

深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验

文章目录 * 🔍 深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验 * 📋 前言 * 🏗️ 一、模型参数配置 * ⚡ 二、核心能力实测:Flask API 完整服务生成 * 2.1 测试任务 * 2.2 模型输出分析 * 2.3 项目结构输出 * 2.4 核心代码质量评测 * 配置文件 (config.py) * 用户模型 (models/user.py) * 错误处理 (utils/errors.py) * 数据验证 (utils/validators.py) * 📊 三、性能表现评估 * 💡 四、使用技巧与建议 * 4.1 提示词优化技巧 * 4.2 参数调优建议

By Ne0inhk
Git国内极速下载与安装全攻略:无需翻墙的完整解决方案

Git国内极速下载与安装全攻略:无需翻墙的完整解决方案

在国内使用Git时,由于网络限制,直接从官方源下载安装包或克隆仓库往往速度缓慢甚至失败。本文将提供一套完整的国内镜像解决方案,涵盖从Git软件安装到日常使用加速的全流程,帮助开发者无需翻墙即可高效完成Git相关操作。 一、国内镜像源安装Git 1.1 选择国内镜像源下载安装包 国内多所高校和企业提供了Git安装包的镜像服务,下载速度远超国际源: * 中科大镜像源 :https://mirrors.ustc.edu.cn/git/ * 清华大学镜像源 :https://mirrors.tuna.tsinghua.edu.cn/git/ * 阿里云镜像源 :https://registry.npmmirror.com/binary.html?path=git-for-windows/ * 码云(Gitee)镜像 :https://gitee.com/mirrors/git-for-windows 推荐优先使用阿里云或中科大镜像,更新频率高且下载稳定 1.2 各系统安装步骤

By Ne0inhk
解锁超级生产力:手把手教你构建与GitHub深度集成的自动化工作流,让AI成为你的编程副驾驶

解锁超级生产力:手把手教你构建与GitHub深度集成的自动化工作流,让AI成为你的编程副驾驶

前言 在当今快节奏的软件开发世界中,效率就是生命线。每一位开发者、项目经理和技术爱好者都在不断寻求能够简化流程、自动化重复性任务并最终解放创造力的工具和方法。想象一下,如果你能用自然语言与你的开发环境对话,让它为你搜索代码库、管理项目任务,甚至直接在你最喜欢的代码托管平台GitHub上执行操作,那将会是怎样一种颠覆性的体验? 这并非遥不可及的科幻场景,而是已经可以实现的强大功能。本文将为你揭开这层神秘的面纱,通过一个名为“蓝耘”的平台(或任何支持此类功能的类似平台),一步步指导你从零开始构建一个基础的自动化工作流。更令人兴奋的是,我们将向你展示如何将这个工作流与强大的GitHub MCP(Multi-Capability Platform)工具无缝集成,从而赋予你的工作流直接与GitHub仓库进行深度交互的能力。 无论你是希望快速检索海量开源项目、自动追踪和创建任务(Issues),还是希望简化代码提交与拉取请求(Pull Request)的流程,本文都将为你提供详尽的、可操作的指南。我们将深入每一个步骤,从最基础的节点设置,到获取关键的GitHub密钥,再到最终实战演练,让你亲

By Ne0inhk