WSL2 Ubuntu 24.04 离线安装 Docker 全流程

这里写目录标题

  • [1. 下载 Docker 官方离线安装包](#1. 下载 Docker 官方离线安装包)
  • [2. WSL 内离线安装 Docker](#2. WSL 内离线安装 Docker)
  • [3. 配置用户组权限](#3. 配置用户组权限)
  • [4. 启动 Docker 服务并验证](#4. 启动 Docker 服务并验证)
  • [5. 最终验证(本地镜像加载)](#5. 最终验证(本地镜像加载))
  • 后记:一些失败的尝试

在国内网络环境下,通过 apt 或 curl 一键脚本安装 Docker 极易出现网络 / 哈希校验错误,因此我们采用官方离线 .deb 包安装的方式,彻底绕开网络问题。

前置条件:

Windows 已安装并启用 WSL2,Ubuntu 是较高的版本。

1. 下载 Docker 官方离线安装包

先进入这个网址:Docker,然后选择以下3个文件,保存到本地:

  1. 🌋containerd.io(先装这个)文件名格式:containerd.io_<版本>_amd64.deb选版本号最大的那个,比如:containerd.io_1.7.24-1_amd64.deb
  2. 🌋docker-ce-cli(第二个装)文件名格式:docker-ce-cli_<版本>3-0ubuntu-noble_amd64.deb版本号要和 docker-ce 一致,比如:docker-ce-cli_27.3.13-0ubuntu-noble_amd64.deb
  3. 🌋docker-ce(最后装)文件名格式:docker-ce_<版本>3-0ubuntu-noble_amd64.deb和 cli 版本号完全一样,比如:docker-ce_27.3.13-0ubuntu-noble_amd64.deb

基于以上原则,我选择了下面红框里面的三个文件。


2. WSL 内离线安装 Docker

打开 WSL 终端,执行以下命令(路径需根据实际情况做调整):

bash 复制代码
# 1. 进入安装包目录
cd /mnt/d/Horizon_J6/docker_packages/
# 2. 按顺序安装3个包
sudo dpkg -i containerd.io_*.deb docker-ce-cli_*.deb docker-ce_*.deb
# 3. 修复依赖(安装过程中若提示依赖问题,执行此命令)
sudo apt --fix-broken install

3. 配置用户组权限

bash 复制代码
# 1. 将当前用户加入 docker 用户组
sudo usermod -aG docker $USER

⚠️ 必须执行:关闭当前 WSL 终端,在 PowerShell 中执行 wsl --shutdown 重启 WSL,再重新打开终端,权限才会生效!

4. 启动 Docker 服务并验证

bash 复制代码
# 1. 启动 Docker 服务
sudo service docker start

# 2. 验证安装是否成功
docker --version
# 输出类似:Docker version 29.4.3, build 055a478

输入第一个命令后,还需输入密码进行验证。然后输出版本号。

5. 最终验证(本地镜像加载)

选择本地一个镜像文件并加载(路径需根据实际情况做调整),有时候加载会比较慢,持续好几分钟,耐心等待即可。

bash 复制代码
cd /mnt/d/Horizon_J6/
docker load -i docker_open_explorer_ubuntu_22_j6_cpu_v3.8.1.tar.gz
docker images

安装并验证完毕!!!

后记:一些失败的尝试

先更新软件源:

bash 复制代码
# 1. 更新软件源
sudo apt update && sudo apt upgrade -y

运行,提示哈希有问题。

这是典型的Ubuntu 软件源同步不完整导致的哈希校验失败。将其替换为官方源。

bash 复制代码
# 备份旧的源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 替换为官方源(临时用官方源解决同步问题)
sudo tee /etc/apt/sources.list > /dev/null <<EOF
deb http://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ noble-backports main restricted universe multiverse
EOF

# 更新源
sudo apt update

还是会报错。

再将其换到阿里云镜像源。

bash 复制代码
# 备份旧的源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 写入阿里云镜像源(适配 noble)
sudo tee /etc/apt/sources.list > /dev/null <<EOF
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
EOF

# 临时允许非完全签名的源(解决Clearsigned文件错误)
sudo apt update --allow-releaseinfo-change


这次没有问题。

相关推荐
tedcloud1232 小时前
Impeccable 部署指南:开源前端设计工具 Linux 环境搭建实践
linux·运维·服务器·前端·人工智能·开源
风曦Kisaki2 小时前
# Kubernetes(K8s)笔记Day12 :K8s 七层代理(Ingress 和 Ingress Controller)
linux·笔记·云原生·容器·kubernetes
Lyra_Infra2 小时前
Docker OCI Runtime 启动失败问题排查与解决
后端·docker·架构
大黄说说2 小时前
SQL Server 执行计划怎么看?快速定位 SQL 慢的根源
java·linux·数据库
jzwalliser2 小时前
Ubuntu的美化:深度定制指南
ubuntu·gnome·美化
yunwei374 小时前
eBPF 教程:精准隔离已建立的 TCP 连接
linux·安全·开源
weixin_445476684 小时前
linux下lims部署详细步骤参考
linux
奇特認6 小时前
数据库MySQL 1.安装环境部署
linux·运维·服务器
小小龙学IT6 小时前
Day 26-27 项目实战:从零构建一个高并发聊天室(epoll + 线程池)
linux·服务器·c语言·开发语言·网络
风静如云6 小时前
Yocto:关于Layer
linux