在 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

相关推荐
Madison-No715 小时前
【Linux】文件操作&&重定向原理
android·linux·运维
lots洋15 小时前
使用docker-compose安装mysql+redis+nacos
redis·mysql·docker
若风的雨15 小时前
安全与验证模块设计方案
linux·安全
GHL28427109015 小时前
Docker Desktop 启动报错“Virtualization support not detected“
c++·docker·容器
Eiceblue16 小时前
.NET框架下Windows、Linux、Mac环境C#打印PDF全指南
linux·windows·.net
试试勇气16 小时前
Linux学习笔记(十三)--文件系统
linux·笔记·学习
yingdonglan16 小时前
鸿蒙跨端Flutter学习——GridView高级功能
linux·运维·windows
wdfk_prog16 小时前
[Linux]学习笔记系列 -- [drivers][clk]clk
linux·笔记·学习
遇见火星16 小时前
在Linux中使用journalctl命令进行日志分析和管理详细教程
linux·运维·服务器·journalctl
xuefuhe17 小时前
RHEL9 yum install etcd Error: Unable to find a match: etcd
linux·运维·centos