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


这次没有问题。

相关推荐
2401_868534784 小时前
指令集-最常用 Linux 命令速查手册(整合版)
linux·网络协议
ltl4 小时前
小文件问题:文件数量如何放大元数据与 I/O 成本
linux
ltl4 小时前
网络延迟优化:Nagle、TCP_NODELAY 与中断亲和
linux
张文君5 小时前
ubuntu26.04从ext4改成mdadm的raid1+lvm启动
linux·运维·网络
xx~t5 小时前
嵌入式——进程与线程1
linux·c语言·学习·嵌入式·进程与线程
DevHub5 小时前
QEMU + Busybox 搭建嵌入式 Linux 开发环境:内核编译到启动,30 秒一个迭代
linux·运维·服务器
ouynagda5 小时前
Linux 进程管理详解:从概念到实践
linux·运维·网络
2401_890603405 小时前
Linux 基础文件IO
linux·运维·服务器
tx11208763585 小时前
K8S-pod管理与控制器管理
linux·运维·kubernetes·pod