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


    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
    
    • 1

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

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

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    安装 Docker

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

    大致步骤如下:

    • 卸载老版本
    sudo apt-get remove docker docker-engine docker.io containerd runc
    
    • 1
    • 配置软件仓库
     sudo apt-get update
     sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 给软件仓库加上 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
    
    • 1
    • 2
    • 设置好仓库
    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
    
    • 1
    • 2
    • 3
    • 安装 Docker 引擎
    sudo apt-get update
     sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
    • 1
    • 2
    • 启动 Docker 服务
    sudo service docker start
    
    • 1
    • 验证安装是否成功
    sudo docker run hello-world
    
    • 1

    给 Docker 加上代理

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

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

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

    • 进入 WSL
    • 使用 nano 编辑 /etc/default/docker
    sudo vim /etc/default/docker
    
    • 1
    • 输入类似下面的内容然后保存
    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"
    
    • 1
    • 2
    • 3
    • 重启 docker 服务
    sudo service docker restart
    
    • 1
  • 相关阅读:
    ASTM F404 – 21儿童餐椅标准消费者安全规范测试项目
    django安装到运行,简单的注册登录
    CockroachDB-备份与恢复(4)管理备份计划
    使用JAXB将xml转成Java对象
    基于Bézier曲线的三维造型与渲染
    为什么Dapr是比SpringCloud和Istio更优雅的微服务框架?
    【MySQL】关于MySQL升级到8.0版本的实践方案
    Web开发(Servlet)
    html截取最后几个字符
    Web3 | DID赛道之 Galxe(原 Project Galaxy)
  • 原文地址:https://blog.csdn.net/surfirst/article/details/127400655