Wsl2 Ubuntu在不安装Docker Desktop情况下使用Docker

本文介绍了在Windows10WSL2环境下,不安装DockerDesktop,而是选择使用Distrod替代品的方法。详细步骤包括设置前提条件、安装Distrod,以及处理在使用docker-compose时遇到的问题,如权限错误和docker-credential-desktop的安装。

目录

1. 前提条件

2.安装Distrod

3. 常见问题

3.1.docker compose 问题无法使用问题

3.1. docker-compose up报错

参考文档


1. 前提条件

win10 + WSL2 + Ubuntu(截止202308最新版本是20.04.xx)

有不少的博客都是建议直接安装docker desktop,这样无论在windows下还是wsl2的Ubuntu子系统下,都可以使用docker命令。

可实际上,随着Docker desktop可能商业化,而且和windows的兼容和性能问题,越来越多公司和个人不太愿意继续安装Docker Desktop,那么Distrod将是一个不错的替代产物。

图1 Win10系统已经启用了Wsl并且子系统还是Ubuntu20.04

2.安装Distrod

打开Terminal的,进入Ubuntu控制台,直接安装Distrod

# 先创建一个目录
sudo mkdir -p ~/distrod
# 进入目标目录
cd ~/distrod
# 安装Distrod
curl -L -O "https://raw.githubusercontent.com/nullpo-head/wsl-distrod/main/install.sh"
chmod +x install.sh
sudo ./install.sh install
<think>首先,用户的问题是关于如何在Windows上使用WSL 2安装Docker Desktop。用户提供了几个引用,我需要参考这些引用,但能直接复制;我应该基于这些信息构建回答。 关键引用: - [^1]: 描述了在Windows下安装Docker Desktop的命令,包括导入WSL发行版的步骤。 - [^2]: 讨论了WSL2的优势,并提到在WSL2安装Docker Engine可以避免Docker Desktop的限制。 - [^3]: 提供了查看WSL版本和设置WSL版本的命令。 - [^4]: 提到了需要将WSL 1转换为WSL 2安装新发行版。 用户的问题:如何在Windows上使用WSL 2安装Docker Desktop。 回答结构: 1. **前提条件**:确保Windows版本支持WSL2(如Windows 10版本2004或更高,或Windows 11)。 2. **启用WSL2**:启用Windows功能。 3. **安装WSL2 Linux发行版**:如Ubuntu。 4. **设置默认WSL版本为2**。 5. **安装Docker Desktop**:下载并安装,配置使用WSL2后端。 6. **验证安装**。 系统级指令: - 所有行内数学表达式用$...$,但这里可能涉及数学公式,所以忽略。 - 独立公式用$$...$$,但同样适用。 - LaTeX语法正确:直接相关,因为内容主要是文本。 - 使用中文回答。 - 生成相关问题:在回答末尾添加相关问题。 - 引用标识:在引用段落末尾添加[^n]。 回答需要真实可靠,基于提供的引用。引用[^1]有具体命令,但用户说“上述引用仅供参考”,所以我应该基于标准实践。 步骤: 1. **检查系统要求**:Windows 10 2004或更高,或Windows 11;启用Hyper-V和虚拟机平台(但引用[^2]提到WSL2 vs Hyper-V,WSL2依赖Hyper-V)。 - 引用[^2]:WSL2是独立技术,依赖Hyper-V。 - 引用[^3]:需要设置WSL版本。 2. **启用WSL2**: - 在PowerShell(管理员)运行:`dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart` - 然后:`dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart` - 重启电脑。 3. **设置WSL2为默认版本**: - 在PowerShell:`wsl --set-default-version 2` 4. **安装Linux发行版**: - 从Microsoft Store安装Ubuntu或其他。 - 安装后,启动它完成初始化。 5. **验证WSL版本**: - `wsl -l -v` 查看已安装发行版和版本(引用[^3])。 - 如果版本是1,转换:`wsl --set-version <distro_name> 2` 6. **安装Docker Desktop**: - 下载Docker Desktop for Windows。 - 安装时,选择“Use WSL 2 based engine”选项(引用[^1]有导入命令,但那是用于导入现有发行版;标准安装是下载并运行安装程序)。 - 引用[^1]提到导入命令:`wsl --import docker-desktop ...`,但这似乎是针对特定场景;标准安装需要这个。 7. **配置Docker Desktop**: - 安装后,启动Docker Desktop。 - 在Settings > General,确保“Use WSL 2 based engine”勾选。 - 在Settings > Resources > WSL Integration,启用与安装的Linux发行版的集成。 8. **验证安装**: - 在PowerShell或Ubuntu终端运行:`docker --version` 或 `docker run hello-world` 生成相关问题: 1. 如何解决WSL2安装中的常见问题? 2. Docker DesktopWSL2集成的优势是什么? 3. 如何在WSL2中管理Docker容器? 回答用中文,结构清晰: - 使用标题或编号步骤。 - 自然地添加引用标识。 最终回答结构: - 介绍 - 步骤 - 验证 - 相关问题</think>### 如何在 Windows 上使用 WSL 2 安装 Docker Desktop 在 Windows 系统中,通过 WSL 2(Windows Subsystem for Linux 2安装 Docker Desktop 可以实现高效的容器化开发环境。WSL 2 提供了接近原生的 Linux 内核支持,显著提升 Docker 性能和兼容性[^2]。以下是详细步骤,基于 Windows 10/11 专业版或更高版本(确保系统满足要求:Windows 10 版本 2004 或更新,或 Windows 11)。操作前,请备份重要数据。 #### 步骤 1: 启用 WSL 2 和相关功能 首先,确保系统支持 WSL 2 并启用必要组件: 1. **以管理员身份打开 PowerShell**: - 搜索 "PowerShell",右键选择 "以管理员身份运行"。 2. **启用 WSL 功能**: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 3. **启用虚拟机平台**(WSL 2 依赖此功能): ```powershell dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 4. **重启计算机**:应用更改。 #### 步骤 2: 安装并设置 WSL 2 为默认版本 1. **下载并安装 WSL 2 Linux 内核更新包**: - 从 [Microsoft 官方下载页面](https://aka.ms/wsl2kernel) 获取更新包,运行安装2. **设置 WSL 默认版本为 2**: ```powershell wsl --set-default-version 2 ``` 如果输出提示成功,表示 WSL 2 已设为默认[^3]。 3. **验证 WSL 版本**: ```powershell wsl -l -v ``` 输出应显示类似: ``` NAME STATE VERSION * Ubuntu Stopped 2 ``` 如果版本为 1,使用 `wsl --set-version <发行版名称> 2` 转换(例如 `wsl --set-version Ubuntu 2`)[^3][^4]。 #### 步骤 3: 安装 Linux 发行版(如 Ubuntu) 1. **从 Microsoft Store 安装 Ubuntu**: - 打开 Microsoft Store,搜索 "Ubuntu",选择最新版本安装2. **启动 Ubuntu 并初始化**: - 首次启动时,设置用户名和密码。 #### 步骤 4: 安装 Docker Desktop 1. **下载 Docker Desktop**: - 访问 [Docker 官网](https://www.docker.com/products/docker-desktop),下载 Windows 版安装程序。 2. **运行安装程序**: - 双击下载的 `.exe` 文件,安装过程中: - 勾选 "Enable WSL 2 Features"(使用 WSL 2 后端引擎)。 - 接受所有默认设置。 3. **完成安装后启动 Docker Desktop**: - 首次启动时,Docker 会自动检测 WSL 2 环境并配置集成。 #### 步骤 5: 配置 Docker DesktopWSL 2 集成 1. **打开 Docker Desktop 设置**: - 系统托盘右键点击 Docker 图标,选择 "Settings"。 2. **启用 WSL 2 集成**: - 在 "General" 选项卡,确保 "Use WSL 2 based engine" 已勾选。 - 在 "Resources" > "WSL Integration" 中,启用已安装的 Linux 发行版(如 Ubuntu)。 3. **应用更改并重启 Docker**。 #### 步骤 6: 验证安装 1. **在 PowerShell 或 Ubuntu 终端中测试**: ```powershell docker --version # 应输出 Docker 版本,例如 "Docker version 24.0.7" docker run hello-world # 运行测试容器,输出 "Hello from Docker!" 表示成功 ``` 2. **检查 WSL 集成状态**: ```powershell wsl -l -v # 确认 Linux 发行版版本为 2 ``` #### 常见问题解决 - **WSL 版本未转换**:如果 `wsl -l -v` 显示版本为 1,运行 `wsl --set-version <发行版名称> 2` 强制转换[^4]。 - **Docker 启动失败**:确保 BIOS 中启用虚拟化(VT-x/AMD-V),并在 Windows 功能中启用 "Hyper-V"(可选,WSL 2 通常依赖它)[^2][^3]。 - **性能优化**:在 Docker Desktop 设置中调整 CPU/内存分配,避免资源足。 通过以上步骤,您可以在 Windows 上高效运行 Docker 容器,利用 WSL 2 的原生 Linux 环境提升开发体验[^1][^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值