在 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

相关推荐
CAU界编程小白12 分钟前
Linux系统编程系列之动静态库
linux
济61714 分钟前
linux(第十三期)--filezilla使用方法(实现ubuntu和windows11文件互传)-- Ubuntu20.04
linux·运维·ubuntu
HIT_Weston15 分钟前
91、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(五)
linux·运维·ubuntu
oMcLin17 分钟前
如何在 Rocky Linux 8.6 上配置并调优 Nginx 与 Lua 脚本,提升 API 网关的性能与并发处理能力
linux·nginx·lua
超龄超能程序猿23 分钟前
Docker常用中间件部署笔记:MongoDB、Redis、MySQL、Tomcat快速搭建
笔记·docker·中间件
Yana.nice26 分钟前
Linux目录结构说明
linux
奔波霸的伶俐虫28 分钟前
windows docker desktop 安装修改镜像学习
学习·docker·容器
EndingCoder31 分钟前
箭头函数和 this 绑定
linux·前端·javascript·typescript
阿杰 AJie32 分钟前
安装 docker.io(不走外网 Docker 域名)
docker·容器·eureka
食咗未34 分钟前
Linux iptables工具的使用
linux·运维·服务器·驱动开发·网络协议·信息与通信