Windows使用WSL2安装Docker

2021年2月15日更新

当前版本的docker-desktop已经默认开启支持WSL2,安装时保持默认选项直接下一步,安装完毕之后重启电脑。之后docker会弹出WSL2尚未配置完毕,点击提示框中的链接,安装MSI扩展包,重启电脑即可愉快地使用docker。


想在Windows上运行docker,可谓是一言难尽。从最初的docker-toolbox到基于Hyper-v虚拟化的docker-desktop,无论是哪个方式,都有一堆一堆的坑点。

想要在windows上愉快地玩耍docker,难道就只能virtualbox装个linux再装docker?(或者docker-client配远程docker-daemon?)

于是,我决定换个坑踩。

配置WSL2

开启WSL

以管理员运行Powershell(开启WSL,如已开启可跳过)

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

之后重新启动计算机。

启用“虚拟机平台”可选组件

以管理员身份打开 PowerShell 并运行:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

启用这些更改后,需要重新启动计算机。

默认启用 WSL 2

在 PowerShell 中运行:

wsl --set-default-version 2

安装Ubuntu

打开Microsoft Store,搜索ubuntu并安装。
之后启动刚刚安装的Ubuntu。

安装docker

打开刚刚安装的Ubuntu,安装依赖:

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

信任 Docker 的 GPG 公钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

对于 amd64 架构的计算机,添加软件仓库:

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

最后安装

sudo apt-get update
sudo apt-get install docker-ce

安装完成

安装大功告成了,运行

docker run hello-world

不出意外的话,大概率会报错。
将当前用户添加到docker用户组

sudo adduser $USER docker

之后重启windows计算机

重启完成后,打开Ubuntu,运行

sudo service docker start

输出[OK]。

运行

docker run hello-world

没有报错,。

结语

注:WSL2是基于Hyper-v的。

(不过感觉比我之前直接用Hyper-v管理平台安装Ubuntu Server启动还是要快。)

你可能感兴趣的:(Windows使用WSL2安装Docker)