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 的安装和配置!如果在此过程中遇到其他问题,欢迎随时提出。

相关推荐
迎風吹頭髮4 小时前
Linux服务器编程实践20-TCP服务 vs UDP服务:核心差异对比
linux·服务器·tcp/ip
ajassi20005 小时前
开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件
linux·服务器·开源
ajassi20005 小时前
开源 Linux 服务器与中间件(一)基本介绍
linux·服务器·开源
赖small强5 小时前
深入理解 Linux NUMA:拓扑、分配策略与调优实践
linux·numa·pre-cpu·zone
javpy5 小时前
docker部署nacos报错 ‘env NACOS_AUTH_TOKEN must be set with Base64 String.‘
linux·docker·centos
Net_Walke5 小时前
【Linux系统】文件IO
linux·物联网·iot
阿巴~阿巴~5 小时前
Redis重大版本演进全解析:从2.6到7.0
服务器·数据库·redis·ubuntu·缓存·centos
刘某的Cloud6 小时前
ceph设置标志位
linux·运维·ceph·openstack
monkeyhlj6 小时前
excel-mcp-server rocky linux简单部署
linux·运维·excel