ubuntu 22一步步 安装docker和配置使用国内源

在 Ubuntu 22 上安装 Docker 并配置国内镜像源可以显著提升软件下载和镜像拉取的速度。以下是详细的安装与配置指南。

🛠️ 安装前的准备工作

  1. 更新系统软件包

    在安装任何新软件前,最好先更新本地的软件包列表并升级现有软件包。

    bash 复制代码
    sudo apt update && sudo apt upgrade -y
  2. 卸载旧版本 Docker(如有)

    为避免冲突,如果系统上有旧的 Docker 版本(常被称为 docker.iodocker-engine),建议先卸载它们。

    bash 复制代码
    sudo apt-get remove docker docker-engine docker.io containerd runc
  3. 安装必要依赖包

    这些工具是后续添加 Docker 官方 GPG 密钥和软件源所必需的。

    bash 复制代码
    sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common

📦 安装 Docker Engine

以下是使用 Docker 官方源进行安装的推荐步骤。

  1. 添加 Docker 的官方 GPG 密钥

    此密钥用于验证所下载软件包的完整性。

    bash 复制代码
    sudo install -m 0755 -d /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
  2. 添加 Docker 软件源

    将 Docker 的稳定版仓库添加到系统的软件源列表中。

    bash 复制代码
    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
  3. 安装 Docker 引擎

    更新软件源并安装 Docker 及其相关组件。

    bash 复制代码
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. 启动 Docker 服务并设置开机自启

    bash 复制代码
    sudo systemctl start docker
    sudo systemctl enable docker
  5. 验证安装

    运行一个测试容器,如果一切顺利,你将看到 "Hello from Docker!" 的欢迎信息。

    bash 复制代码
    sudo docker run hello-world

🔄 配置国内镜像加速器

为了提升拉取 Docker 镜像的速度,强烈建议配置国内镜像源。

  1. 创建并编辑 Docker 配置文件

    Docker 的守护进程配置存储在 /etc/docker/daemon.json 文件中。

    bash 复制代码
    sudo mkdir -p /etc/docker
    sudo nano /etc/docker/daemon.json
  2. 写入镜像源配置

    在打开的文件中,填入以下内容。你可以选择一个或多个镜像源。如果配置多个,Docker 会按顺序尝试,当某个源不可用时自动切换。

    json 复制代码
    {
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baiduce.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.xuanyuan.me"
      ]
    }
    • 常用国内镜像源地址
      • 网易https://hub-mirror.c.163.com
      • 百度云https://mirror.baiduce.com
      • 中科大https://docker.mirrors.ustc.edu.cn
      • 其他可选源https://docker.xuanyuan.me, https://docker.1ms.run
  3. 重启 Docker 服务使配置生效

    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  4. 验证配置是否成功

    运行以下命令,如果输出中包含了您刚刚配置的镜像地址,说明配置成功。

    bash 复制代码
    docker info | grep -A 10 "Registry Mirrors"

⚙️ 权限管理与后续优化

  1. 允许非 root 用户运行 Docker(可选但推荐)

    默认情况下,执行 Docker 命令需要 sudo 权限。可以将您的用户加入 docker 组来免去每次输入 sudo 的麻烦。

    bash 复制代码
    sudo usermod -aG docker $USER

    重要 :执行此命令后,你需要完全注销并重新登录系统 ,或者重启电脑,才能使组权限更改生效。之后,你就可以直接使用 docker ps 这样的命令,而不需要 sudo 了。

  2. 验证最终环境

    权限生效后,再次运行 hello-world 容器,确认一切正常。

    bash 复制代码
    docker run hello-world

💡 常见问题处理

  • 安装依赖报错 :如果出现 E: Unable to locate package docker-ce 这类错误,请检查之前添加软件源的步骤是否正确,特别是系统代号 $(lsb_release -cs) 是否获取正确(对于 Ubuntu 22.04,应为 jammy)。
  • 镜像拉取失败或仍很慢 :可能是某个镜像源暂时不稳定或已失效。可以尝试注释掉(在行首加#)或删除 daemon.json 中疑似有问题的镜像源,然后重启 Docker 服务。也可以尝试搜索并替换为当前最新的可用镜像源。
  • 服务启动失败 :可以查看 Docker 服务的详细日志来排查问题:sudo journalctl -u docker.service

希望这份详细的指南能帮助你在 Ubuntu 22 上顺利完成 Docker 的安装和配置!如果在此过程中遇到其他问题,欢迎随时提出。

相关推荐
Wzx19801215 小时前
python沙箱和docker沙箱你选对了吗?
开发语言·python·docker
CodeDevMaster15 小时前
关于PaddleOCR-VL部署与使用说明
docker·llm
sxstj16 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
Ghost Face...17 小时前
龙芯Docker全流程:安装到离线迁移实战
java·docker·eureka
天疆说17 小时前
Ubuntu 26.04 下 Intel Meteor Lake 核显 + NPU 驱动配置与 PyTorch NPU 推理实测
linux·pytorch·ubuntu
mounter62517 小时前
突破单点限制:BPF 多跟踪点高效附加机制与新 ftrace 架构解析
linux·ebpf·linux kernel·kernel·ftrace
刘某的Cloud17 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方18 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
meilindehuzi_a18 小时前
TypeScript面试题:interface 与 type:相同点、核心区别与选择指南
java·ubuntu·typescript
郭涤生18 小时前
rootfs 详解与裁剪优化记录
linux·c++·bsp