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


这次没有问题。

相关推荐
xingfujie1 小时前
第1章:整体架构与准备工作
linux·云原生·容器·架构·kubernetes·kubelet
jsons11 小时前
linux 用户内存保障管理配置
linux·运维·服务器
七爷不在我这里1 小时前
dockerB站笔记
笔记·docker
用户2367829801681 小时前
Linux top 命令深度解析:进程监控的性能优化实战
linux
web守墓人1 小时前
【AI编程】小米mimo模型400错误处理,以及roocode修复指南
linux·ubuntu·ai编程
xingfujie1 小时前
前言:从零到一,系统掌握 K8s + DevOps + 微服务
linux·运维·微服务·云原生·容器·kubernetes·devops
坐吃山猪1 小时前
Python34_装饰器知识
开发语言·python·ubuntu
Fanfanaas1 小时前
Linux 系统编程 文件篇 (一)
linux·运维·服务器·c++·学习
亚空间仓鼠1 小时前
Docker容器化高可用架构部署方案(九)
docker·容器·架构