解决WSL2的ubuntu20.04中安装docker出现无法连接的问题(Cannot connect to the Docker daemon)

wsl2的ubuntu20.04系统安装docker可以参考官网教程操作,我个人喜欢参考其中的离线安装方式:Install from a package。只需要按照官网一步步操作即可,跟普通的ubuntu20.04的安装是一样的步骤。

在安装完以后,发现一旦使用docker相关命令会出现下述问题:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

说明docker没有正常启动。这个原因主要是wsl2造成的。

解决方法很简单,首先输入下述命令:

sudo update-alternatives --config iptables

然后会输出下述信息:

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/sbin/iptables-nft      20        auto mode
  1            /usr/sbin/iptables-legacy   10        manual mode
  2            /usr/sbin/iptables-nft      20        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

此时输入1即可。

最后重新启动docker:

sudo service docker start

这样问题就解决了。

<think>好的,我需要帮助用户在Windows 11的WSL2安装Ubuntu 20.04后配置Docker。根据用户提供的引用资料,我应该参考现有的博客和配置记录来整理步骤。首先,需要确保Windows 11的版本足够新,比如23H2之后的版本,并启用虚拟化功能。然后安装WSL2Ubuntu 20.04。接下来,在Ubuntu安装Docker,可能需要添加Docker的仓库并安装必要的包。还需要处理权限问题,比如将用户加入docker组,以及配置Docker守护进程。此外,用户可能需要在Windows端安装Docker Desktop来管理容器,但根据引用[1],可能不需要。需要检查步骤之间的逻辑,确保每一步都正确,比如先启用WSL功能,再安装Ubuntu。还要注意可能的错误,比如服务无法启动,或者权限不足。最后,建议用户验证安装是否成功,比如运行hello-world镜像。需要将这些步骤分点说明,保持清晰,并引用对应的参考资料。</think>### 在 Windows 11 WSL2Ubuntu 20.04 环境中安装和配置 Docker 的步骤 #### **1. 确保 Windows 11 满足前提条件** - **系统版本要求**:Windows 11 需为 23H2 或更高版本[^3]。 - **启用虚拟化支持**: - 打开 PowerShell(管理员),执行: ```powershell dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` - 重启计算机。 - **将 WSL 默认版本设为 2**: ```powershell wsl --set-default-version 2 ``` #### **2. 安装 WSL2Ubuntu 20.04** - **安装 Ubuntu 20.04**: ```powershell wsl --install -d Ubuntu-20.04 ``` - **启动 Ubuntu**:首次启动时会提示创建用户名和密码。 #### **3.Ubuntu 20.04安装 Docker** - **更新软件包列表**: ```bash sudo apt update && sudo apt upgrade -y ``` - **安装依赖工具**: ```bash sudo apt install -y apt-transport-https ca-certificates curl software-properties-common ``` - **添加 Docker 官方 GPG 密钥**: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` - **添加 Docker 仓库**: ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` - **安装 Docker 引擎**: ```bash sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io ``` #### **4. 配置 Docker 权限和服务** - **将用户加入 `docker` 组**: ```bash sudo usermod -aG docker $USER ``` > 注:需退出终端重新登录或重启 WSL 生效。 - **启动 Docker 服务**: ```bash sudo service docker start ``` #### **5. 验证安装** - **运行测试容器**: ```bash docker run hello-world ``` 若输出 `Hello from Docker!` 表示安装成功。 #### **6. 可选:Windows 端 Docker Desktop 集成** 若需在 Windows 中使用 Docker 命令,可安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/),并在设置中启用 **WSL2 集成**(选择 Ubuntu 20.04 分发版)[^2]。 --- ### **常见问题解决** 1. **Docker 服务无法启动** - 检查 WSL2 网络配置是否正常,重启 WSL:`wsl --shutdown`。 - 确保已执行 `sudo service docker start`。 2. **权限拒绝错误** - 确认用户已加入 `docker` 组,并重新登录终端。 --- ### **引用说明** - 关于 WSL2 安装和虚拟化配置的步骤参考了 Windows 11 官方文档和第三方博客。 - Docker 安装命令基于 Ubuntu 官方仓库的推荐方法[^1]。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱彬 (Qian Bin)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值