【Windows虚拟化】WSL2下安装docker

本文默认已安装WSL2,若系统Win10系统安装的WSL1版本,需升级WSL2,再按照以下步骤操作,升级方法请参考WSL1升级为WSL2

本文模拟正常Ubuntu系统安装docker,还有一种简单模式,安装 Docker Desktop,若想了解,请参考WSL 2 上的 Docker 远程容器入门

1、安装Ubuntu发行版

打开Microsoft Store,搜索ubuntu,界面如下所示:
在这里插入图片描述

下载最新版Ubuntu 22.04.2 LTS即可

完成之后在开始菜单会出现Ubuntu菜单项。打开它,Ubuntu将会进行初始化操作。等待几分钟后按照提示,为Ubuntu设置用户名和密码。
最后,我们需要验证Ubuntu是否在WSL2的环境下启动。在菜单搜索栏搜索PowerShell,并以管理员权限打开,如下图所示:
在这里插入图片描述

执行命令:

wsl -l -v

可以看到信息,如图所示:
在这里插入图片描述
说明Ubuntu在WSL2下已经正常运行

如果发现VERSION为1,说明Ubuntu运行在WSL1下。需要手工切换。
首先关闭WSL下运行的Linux,执行:

wsl --shutdown

再进行版本切换,执行:

wsl --set-version Ubuntu-22.04 2

执行命令后等待片刻。等命令行提示转换完成,我们已经成功将Ubuntu切换到WSL2环境。

2、安装docker

首先进入Ubuntu shell,更换Ubuntu官方源为国内源,加快下载速度。执行。

vim /etc/apt/sources.list

将内容替换为下方:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse

接下来添加GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -

更换docker软件源为国内镜像

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新软件包

sudo apt update

此时不能直接启动docker,Ubuntu22.04使用了iptables-nft,而WSL2不支持,可以通过以下命令进行修改

sudo update-alternatives --config iptables
There are 2 choices for the alternative iptables (providing /usr/sbin/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
update-alternatives: using /usr/sbin/iptables-legacy to provide /usr/sbin/iptables (iptables) in manual mode

修改后,再启动docker,WSL2经过测试无法使用systemctl命令,因此我们使用service命令启动Docker daemon。命令如下所示:

sudo service docker start

启动之后,再执行以下命令进行验证:

sudo service docker status

若看到以下信息,说明docker启动成功

* Docker is running

至此,WSL2成功完成docker安装。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值