WSL2+Ubuntu18.04安装docker+离线安装nvidia-docker

参考

[1] https://docs.docker.com/desktop/features/wsl/#turn-on-docker-desktop-wsl-2
[2] https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers
[3] https://blog.youkuaiyun.com/zengNLP/article/details/127007908

下载和配置docker

  • 下载并安装适用于 Windows 的最新版本的docker:https://docs.docker.com/desktop/features/wsl/#turn-on-docker-desktop-wsl-2
  • 安装后,从 Windows“开始”菜单启动 Docker Desktop,然后从任务栏的隐藏图标菜单中选择 Docker 图标。 右键单击图标以显示 Docker 命令菜单,然后选择“设置”。
  • 参考3.2中https://www.cnblogs.com/ministep/p/17310428.html的 Docker Desktop for windows方式

下载nvidia-docker

这一步进行的前提是安装好nvidida驱动,在命令行输入下面命令有输出即可。

nvidia-smi

本人的安装环境:

  • Ubuntu 18.04
  • Docker version 28.3.2
  • NVIDIA-SMI 560.81 Driver Version: 560.81 CUDA Version: 12.6

下载5个deb文件

  • libnvidia-container1
  • libnvidia-container-tools
  • nvidia-container-toolkit
  • nvidia-container-runtime
  • nvidia-docker2

本人下载的五个文件:

libnvidia-container1_1.9.0-1_amd64.deb
libnvidia-container-tools_1.9.0-1_amd64.deb
nvidia-docker2_2.9.1-1_all.deb
nvidia-container-toolkit_1.9.0-1_amd64.deb
nvidia-container-runtime_3.9.0-1_all.deb

执行安装命令

sudo dpkg -i ./lib*  ./nvidia*

如果报错:

dpkg: dependency problems prevent configuration of nvidia-docker2:
 nvidia-docker2 depends on docker-ce (>= 18.06.0~ce~3-0~ubuntu) | docker-ee (>= 18.06.0~ce~3-0~ubuntu) | docker.io (>= 18.06.0); however:
  Package docker-ce is not installed.
  Package docker-ee is not installed.
  Package docker.io is not installed.

则需要安装docker-ce、decker-ee、docker-io。下载下面文件,因为本人的docker版本为28.3.2,所以选择的三个文件的版本都是比较新的(理论三个文件的版本号对应上即可,可以查看文件发布的时间和自己docker版本的发布时间进行对应)。下载地址:https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/

docker-ce-cli_23.0.6-1~ubuntu.18.04~bionic_amd64.deb
docker-ce_23.0.6-1~ubuntu.18.04~bionic_amd64.deb
containerd.io_1.6.21-1_amd64.deb

安装上述的docker文件:

# 1. 安装 containerd(容器运行时)
sudo dpkg -i containerd.io_*.deb

# 2. 安装 Docker CLI
sudo dpkg -i docker-ce-cli_*.deb

# 3. 安装 Docker Engine
sudo dpkg -i docker-ce_*.deb

再重复nvidia的docker文件安装命令。验证nvidia-docker的安装成功与否,运行:

nvidia-docker -v

有输出则说明成功:

Dockers version 23.0.6, build xxxxxx
<think>嗯,用户需要了解如何在无网络环境下离线安装WSL2Ubuntu 18.04。这个问题挺有挑战性的,因为常规安装都依赖网络下载系统镜像。 先理清关键点:用户需要完整的离线安装方案,包括系统镜像获取、环境准备和安装步骤。参考了之前关于WSL安装的引用内容,特别是引用[2]提到过基础安装命令"wsl --install -d Ubuntu-18.04",但这显然需要联网。 考虑分阶段解决:首先是准备阶段,需要用户在有网络的环境下预下载三个核心文件——Ubuntu 18.04的Appx应用包、WSL2 Linux内核更新包,以及Docker Desktop安装包(如果用户需要容器支持)。这里特别说明Ubuntu 18.04的EOL时间点,避免用户误解官方支持周期。 安装阶段要重点解决离线注册问题。发现微软官方工具Add-AppxPackage可以直接加载本地Appx文件,这个命令配合-l参数应该能实现离线安装。对于内核更新则采用msi安装包的静默安装模式,这样即使没有网络也能完成。 最后补充两个实用场景:一是如何通过wsl --export/import实现系统迁移,这对用户后续维护有帮助;二是Docker离线集成方案,引用[3]提到过Docker Desktop对WSL2的支持,所以把注册表修改方法也加上了。 用户可能遇到的典型问题都做了预案:比如安装路径选择、如何验证WSL版本、以及如何解决常见的依赖错误。特别是强调用PowerShell管理员权限操作,很多WSL问题其实都是权限不足导致的。 生成的相关问题覆盖了后续使用场景,包括网络恢复后的更新建议和磁盘空间管理,这些应该都是用户安装后马上会遇到的现实问题。</think>以下是在**无网络连接**环境下离线安装WSL2Ubuntu 18.04的完整步骤,结合引用内容和解决方案整理: --- ### **离线安装准备(需提前下载文件)** 1. **下载必要组件(需在其他联网设备操作)**: - **Ubuntu 18.04 Appx包** 访问微软商店[Ubuntu 18.04页面](https://apps.microsoft.com/detail/9N9TNGVNDL3Q),通过第三方工具(如[Store.rg-adguard.net](https://store.rg-adguard.net))输入链接获取离线安装包(扩展名为`.appx`或`.appxbundle`)。 - **WSL2 Linux内核更新包** 从[微软官方文档](https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package)下载`wsl_update_x64.msi`。 - (可选)**Docker Desktop for Windows** 从[官网](https://www.docker.com/products/docker-desktop/)下载安装包(引用[3])。 2. **将下载的文件拷贝到目标离线电脑** 包括:Ubuntu Appx包、`wsl_update_x64.msi`、Docker安装包(如需要)。 --- ### **离线安装步骤** #### **步骤1:启用WSL功能(无需网络)** ```powershell # 以管理员身份打开PowerShell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 重启计算机(引用[2])。 #### **步骤2安装WSL2内核更新** ```powershell # 双击或静默安装内核更新包 msiexec /i "路径\wsl_update_x64.msi" /qn ``` #### **步骤3:设置WSL2为默认版本** ```powershell wsl --set-default-version 2 ``` #### **步骤4:离线安装Ubuntu 18.04** ```powershell # 进入Appx包所在目录 Add-AppxPackage -Path ".\Ubuntu_1804.xxxx.appx" -ForceApplicationShutdown ``` > **注意**:若提示依赖错误,需手动安装依赖包(如`Microsoft.VCLibs.140.00_14.0.30704.0_x64.appx`),同样需提前下载。 #### **步骤5:初始化系统** 1. 在开始菜单打开Ubuntu 18.04 2. **跳过网络检查**:出现错误提示时直接关闭窗口 3. 手动初始化: ```powershell # 进入Ubuntu子系统目录(默认路径) cd C:\Users\<用户名>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_<随机ID>\LocalState # 启动本地实例 ubuntu1804.exe ``` 4. 设置用户名和密码(此时系统已离线运行) --- ### **关键问题解决方案** 1. **安装路径迁移(引用[1])** 若需修改安装位置,使用导出/导入: ```powershell wsl --export Ubuntu-18.04 ubuntu.tar wsl --import Ubuntu-18.04 "D:\新路径" ubuntu.tar --version 2 ``` 2. **Docker集成(引用[3])** 安装Docker Desktop后,在设置中勾选: - *Use WSL 2 based engine* - *Enable integration with Ubuntu 18.04* --- ### **验证安装** ```powershell wsl -l -v ``` 输出应包含: ``` NAME STATE VERSION * Ubuntu-18.04 Running 2 ``` --- ### **常见错误处理** - **错误:`0x80370102`** 需在BIOS中启用虚拟化(VT-x/AMD-V)。 - **错误:`0x800701bc`** 未安装WSL2内核更新包。 - **无法启动Ubuntu** 手动删除`%userprofile%\AppData\Local\Packages\CanonicalGroupLimited*`后重试。 > **重要提示**:离线安装后基础功能可用,但首次联网需执行`sudo apt update && sudo apt upgrade`更新组件。 --- ### 相关问题 1. 如何解决WSL2启动时提示“参考的对象类型不支持尝试的操作”? 2. 离线安装后如何扩展Ubuntu的根磁盘空间? 3. 如何配置WSL2与Windows的文件互传共享? 4. 无网络环境下如何安装Python/Pip等基础工具? [^1]: WSL安装位置迁移方法 [^2]: WSL基础功能启用命令 [^3]: Docker Desktop与WSL2集成配置 [^4]: 系统路径对安装的影响
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值