• 如何在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
  • 相关阅读:
    JAVA8-Stream的使用
    为何学linux及用处
    [附源码]Java计算机毕业设计SSM房屋出租管理系统
    你不会还在人工巡检UPS设备吧!?大神技巧学起来!
    汽车3D HMI图形引擎选择
    主流报表开发工具有FastReport.NET V2022.3正式发布——支持SkiaSharp
    2023-09-12 LeetCode每日一题(课程表 IV)
    Python采集智联招聘网站数据实现可视化数据
    ssh秘钥登录
    [附源码]计算机毕业设计基于SpringBoot智能家电商城
  • 原文地址:https://blog.csdn.net/surfirst/article/details/127400655