• 如何在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
  • 相关阅读:
    瑞吉外卖强化(一):缓存优化
    js echarts踩坑记录
    java实现图片转pdf
    WebGL 计算平行光、环境光下的漫反射光颜色
    Android DisplayPolicy增加一些动作,打开后台接口
    基于openwrt创建应用程序教程
    vue3中使用插件vite-plugin-svg-icons
    第2-3-6章 打包批量下载附件的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
    解析java数值类型数据混合运算
    c primer plus学习笔记
  • 原文地址:https://blog.csdn.net/surfirst/article/details/127400655