如何在Windows 的 WSL 上安装非桌面版的 Docker?

24 篇文章 1 订阅

WSL 让 Windows 上使用 Linux 没有了传统虚机的那种切换压力。Docker 是一个简单的服务容器化解决方案,但是Windows 上的 Docker 桌面版只对个人和小公司免费,而且 Docker 桌面版太庞大,增加了启动 Windows 的时间,也增加了系统资源的消耗。

本文介绍如何在 WSL 2.0 系统里在不安装 Docker 桌面版的情况下直接安装 Docker。本文以 Ubuntu 20 为例,其他 Linux 版本也可以参考本系统的安装方法。

前提条件

要直接安装 Linux 版的 Docker需要系统满足以下条件。

  1. 系统已经安装了 WSL 2.0
    用户可以执行下面的命令检查当前系统的 Linux 版本和 WSL 版本
wsl -l -v

下图显示当前的 Linux 版本是 Ubuntu 20.04, WSL 版本为 2。

  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2
  1. 系统安装的是 Ubuntu 20
    用户可以从 Windows 商店搜索 Ubuntu 安装。安装完成以后进入 wsl 输入以下命令
cat /etc/os-release

应该可以看到类似下图的内容:

NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

安装 Docker

打开 WSL,根据下面的文档安装 Docker

大致步骤如下:

  • 卸载老版本
sudo apt-get remove docker docker-engine docker.io containerd runc
  • 配置软件仓库
 sudo apt-get update
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • 给软件仓库加上 docker 的签名
sudo mkdir -p /etc/apt/keyrings
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • 设置好仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装 Docker 引擎
sudo apt-get update
 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • 启动 Docker 服务
sudo service docker start
  • 验证安装是否成功
sudo docker run hello-world

给 Docker 加上代理

有时候因为网络原因,Docker 无法下载镜像文件,我们可以通过设置代理来解决。注意 Docker 官方的给 Docker Client 配置 proxy 的方法是给 docker 容器里的程序访问外网配置的代理。

另外 WSL 不使用 systemd,所以传统的 Linux 中给 docker 加代理的方法并不适用。

这里介绍的方法是如何使用代理下载 docker 镜像文件。具体步骤如下:

  • 进入 WSL
  • 使用 nano 编辑 /etc/default/docker
sudo vim /etc/default/docker
  • 输入类似下面的内容然后保存
export HTTP_PROXY="http://172.26.198.222:10080"
export HTTPS_PROXY="http://172.26.198.222:10080"
export NO_PROXY="localhost,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16,10.0.0.0/8,172.0.0.0/8"
  • 重启 docker 服务
sudo service docker restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

surfirst

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

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

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

打赏作者

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

抵扣说明:

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

余额充值