在 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

相关推荐
拂拉氏7 分钟前
【知识讲解】 Linux中vim编辑器的学习与使用
linux·编辑器·vim
苏灿烤鱼38 分钟前
一套进程代替八件套,桌面更稳还是单点更大
linux·github·shell
刘梦薇42 分钟前
SSH连接失败connection reset解决办法
linux·运维·ubuntu·ssh·腾讯云
Rsingstarzengjx1 小时前
stm32m157 U-boot 测试
linux·运维·服务器
江湖有缘1 小时前
5款开源wiki知识库工具,支持Docker快速部署!
docker·容器·开源
月落汀兰2 小时前
Linux Nginx全套实战通关|静态站点/虚拟主机/HTTPS/PHP/反向代理/七层负载均衡,每行命令逐参数拆解
linux·nginx·https
ShineWinsu2 小时前
对于C++:缓冲区管理的详细解析
linux·c++·面试·编程·笔试·io·缓冲区
张小姐的猫2 小时前
【Linux】网络编程 —— 传输层协议 TCP(下)
linux·运维·服务器·网络·tcp/ip·http·php
程序员AlbertTu3 小时前
第2章 上手 Linux:环境与文件操作
linux·运维·服务器
云上飞476369623 小时前
Windows WSL2 + Docker 环境下NVIDIA PhysicsNeMo 安装指南
windows·docker·physicsai·physicsnemo