在 Ubuntu 上安装 Docker 的完整指南(使用国内镜像源)

概述

Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到一个可移植的容器中,从而实现快速部署和跨平台运行。本指南将详细介绍在 Ubuntu 系统上安装 Docker 的完整步骤,特别使用了清华大学镜像源以加速国内用户的下载过程。

准备工作

在开始安装前,请确保:

  • 使用的是 Ubuntu 系统(本教程适用于 Ubuntu 16.04 及以上版本)
  • 拥有 sudo 权限或 root 用户权限
  • 能够访问互联网

完整安装步骤

1. 卸载旧版本(如有)

为避免版本冲突,建议先卸载系统中可能存在的旧版本 Docker:

bash 复制代码
sudo apt-get remove docker docker-engine docker.io containerd runc

注意:如果这是首次安装 Docker,系统中可能没有这些旧版本,但执行此命令可以确保环境的清洁。

2. 设置 Docker 仓库

2.1 更新系统包索引
bash 复制代码
sudo apt-get update
2.2 安装必要的依赖包
bash 复制代码
sudo apt-get install ca-certificates curl
2.3 创建密钥目录并设置权限
bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
2.4 下载 Docker 官方 GPG 密钥(使用国内镜像)
bash 复制代码
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
2.5 设置密钥文件权限
bash 复制代码
sudo chmod a+r /etc/apt/keyrings/docker.asc
2.6 添加 Docker 仓库源(使用清华镜像)
bash 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

重要说明:此命令自动检测系统架构和 Ubuntu 版本代号,确保添加正确的仓库地址。

3. 安装 Docker 引擎

3.1 再次更新包索引
bash 复制代码
sudo apt-get update
3.2 安装 Docker 及相关组件
bash 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装的组件说明:

  • docker-ce: Docker 社区版
  • docker-ce-cli: Docker 命令行工具
  • containerd.io: 容器运行时
  • docker-buildx-plugin: 扩展构建功能
  • docker-compose-plugin: Docker Compose 插件(用于多容器应用)

4. 启动和启用 Docker 服务

4.1 启动 Docker 服务
bash 复制代码
sudo systemctl start docker
4.2 设置 Docker 开机自启
bash 复制代码
sudo systemctl enable docker

验证安装

安装完成后,可以通过以下命令验证 Docker 是否正确安装:

bash 复制代码
# 查看 Docker 版本信息
sudo docker version

# 运行测试容器
sudo docker run hello-world

如果看到 "Hello from Docker!" 的消息,说明 Docker 已成功安装并正常运行。

配置非 root 用户使用 Docker(可选)

默认情况下,Docker 需要 sudo 权限。如果您希望普通用户也能运行 Docker 命令,可以将用户添加到 docker 组:

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

注意:执行此命令后,需要注销并重新登录才能生效。

常见问题解决

1. 如果遇到 GPG 密钥错误

可以尝试重新下载密钥:

bash 复制代码
sudo rm /etc/apt/keyrings/docker.asc
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo apt-get update

2. 如果仓库地址无法访问

可以尝试其他国内镜像源,如阿里云:

bash 复制代码
# 替换清华源为阿里云源
sudo sed -i 's|https://mirrors.tuna.tsinghua.edu.cn/docker-ce|https://mirrors.aliyun.com/docker-ce|g' /etc/apt/sources.list.d/docker.list
sudo apt-get update

3. 安装特定版本的 Docker

如果需要安装特定版本,可以先查看可用版本:

bash 复制代码
apt-cache madison docker-ce

然后安装指定版本:

bash 复制代码
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

配置 Docker 镜像加速(推荐)

为进一步加速 Docker 镜像的拉取,可以配置国内镜像加速器:

  1. 创建或修改 Docker 配置文件:
bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
  1. 重启 Docker 服务使配置生效:
bash 复制代码
sudo systemctl restart docker

总结

通过以上步骤,已经成功在 Ubuntu 系统上安装了 Docker 社区版。使用清华大学镜像源可以显著加快下载速度,特别适合国内用户。安装完成后,可以开始使用 Docker 来创建、部署和运行容器化应用程序。

Docker 的强大功能将在开发、测试和部署工作中发挥重要作用,帮助实现环境一致性和快速部署。现在,可以尝试拉取其他镜像或创建自己的 Dockerfile 来构建自定义镜像了。

提示:建议定期更新 Docker 以获得最新功能和安全补丁:

bash 复制代码
sudo apt-get update
sudo apt-get upgrade

1.卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

2.设置仓库

sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu KaTeX parse error: Expected 'EOF', got '&' at position 20: ...etc/os-release &̲& echo \"VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  1. 安装Docker

    sudo apt-get update

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  2. 启动

    sudo systemctl start docker

    sudo systemctl enable docker

相关推荐
十年磨一剑~2 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei2 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf
代码游侠2 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了2 小时前
6.库制作与原理
linux·服务器
Zach_yuan3 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
oMcLin3 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
AtoposのCX3303 小时前
Docker运行hello-world镜像失败或超时
运维·docker
sun cat3 小时前
Docker详细介绍(6)
docker·容器·docker-compose
北京迅为4 小时前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
Dragon~Snow4 小时前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins