Windows安装Docker的总述

Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。

因此Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的虚拟机中运行 Docker。

Win7、Win8 等操作系统需要利用 Docker Toolbox 来安装Docker,本文不做介绍。本方介绍在Win10操作系统下安装Docker的方法。

Docker Desktop软件是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,推荐使用这种方式。 这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。 注意:此方法仅适用于 Windows 10 操作系统专业版、企业版、教育版和部分家庭版!

系统要求

系统要求

  • WSL 版本 1.1.3.0 或更高版本。

  • Windows 11 64 位:家庭版或专业版 21H2 或更高版本,或者企业版或教育版 21H2 或更高版本。

  • Windows 10 64 位:

    • 我们建议使用家庭版或专业版 22H2(内部版本 19045)或更高版本,或者企业版或教育版 22H2(内部版号 19045)或更高版本。
    • 最低要求是家庭版或专业版 21H2(内部版本 19044)或更高版本,或者企业版或教育版 21H2(内部版本 19044)或更高版本。
  • 在 Windows 上打开 WSL 2 功能。有关详细说明,请参阅 Microsoft 文档open_in_new .

  • 成功运行需要以下硬件先决条件 Windows 10 或 Windows 11 上的 WSL 2:

Win10家庭版如何升级到专业版

安装Docker Desktop需要 Windows 10 操作系统专业版、企业版、教育版和部分家庭版。

重要: 若要运行 Windows 容器,需要 Windows 10 或 Windows 11 专业版或企业版。 Windows 家庭版或教育版仅允许运行 Linux 容器。

如果你已有专业版、企业版请跳过此步。如果你使用的是家庭版Win10操作系统,可选择升级到专业版。我已升级成功并把方法记录下如。参考文章: https://m.toutiaoimg.cn/i6930594287239299598/

  1. 查询可升级的版:dism /online /get-targeteditions
  2. 准备一个Win10专业版的秘钥key“VK7JG-NPHTM-C97JM-9MPGT-3V66T    (请自己取得 秘钥key)
  3. 执行升级(在升级过程,要等待数分钟):changepk.exe /productkey VK7JG-NPHTM-C97JM-9MPGT-3V66T

一、Win10打开 Hyper-V虚拟机

Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!

在Win10桌面左下角的Windows图标,右击“Windows图标”–应用和功能 -- 程序和功能--启用或关闭Windows功能,在打开的窗口中勾选Hyper-V( 如下图 ),点击“确定”,等待安装完成,按提示重启系统。完成。

二、Win10安装WSL2 (Windows Subsystem for Linux)

WSL介绍

WSL 是适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)。

有两个主要版本 : WSL1\ WSL2

WSL1介绍

WSL1 只是长得像 Linux 而已,虽然在这个子系统中,我们可以执行 Linux 程序,但是到了底层,WSL 调用的还是 win32 API。也就是说:WSL 只是一个适配层。

WSL1更加的轻量化,更加的省资源,相应的其对linux发行版模拟度就稍微差一些,比如docker之类的使用会很麻烦,但是比如说我们,只是用一些诸如ssh客户端链接设备,或者ping,iperf等轻度模拟的场景那么wsl1是很合适的。

WSL2介绍

后来,微软终于放出了 WSL2 这个真正的 Linux 子系统,这是一个真正的 Linux 完整内核,与传统的虚拟机 VitualBox、VMWare 一样,但是它与宿主机的互操作性更好。

功能比较

为什么要安装WSL2

因为当时我的Win10默认安装的是WSL1,启动Docker Desktop时报错了,因为它需要WSL2。

刚启动 Docker Desktop,提示以下错误 。意思是说 WSL 2 没有完整的安装。

如果要升级到 WSL2,Windows 操作系统的内核版本必须满足一定的要求,如下:

安装WSL2(通过Microsoft Store安装)

打开微软应用商店,搜索 Windows Subsystem for Linux ,并安装。


使用 WSL 终端

查看版本

查看版本: wsl -l -v

结果发现:适用于 Linux 的 Windows 子系统没有已安装的分发。 一下步要安装一个Linux发行版本。

使用‘wsl.exe --list --online’列出可用的分发


可用的Linux发行版

“适用于Linux的Windows子系统(WSL)”的Linux发行版的版本已增加至五种:

  • Ubuntu
  • openSUSE Leap 42
  • SUSE Linux Enterprise Server 12
  • Debian GNU/Linux
  • Kail Linux

以一步我们将安装Ubuntu

三、安装 Ubuntu Linux 分发版本

通过微软应用商店通过Ubuntu

参考: https://www.jianshu.com/p/0aa542003b93

打开微软应用商店,搜索 Ubuntu,在列表中选择最新的长期支持版本 20.04 LTS 并安装。

等待一会按回车,根据提示创建用户名和密码

用户名:xxxx

密码:xxxx



Ubuntu的命令行窗口

在开始菜单中,找有 Ubuntu的命令行窗口。



具有Linux Ubuntu 20.04虚拟机映像的硬盘文件将位于用户配置文件中:

C:\Users\WIN10\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalCache

使用软件源镜像来提速

你在Ubuntu内安装软件,就要从软件源下载,为了提速将Ubuntu软件源改为 清华大学开源软件镜像站

清华大学开源软件镜像站

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 打开它,看到以下内容,copy它

Ubuntu的命令行下操作:

注意: 要以root用户身份运行命令,你需要使用(前缀)sudo

cd /etc/apt/
sudo mv sources.list sources.list.bak
sudo touch sources.list
sudo vi sources.list


# 然后将好倒霉镜像内容粘贴进来保存 (认为你会使用vi编辑器)

更新软件到最新

更新Ubuntu的软件到最新版本

在控制台窗口中,可以使用以下命令更新Ubuntu中的软件包列表:

sudo apt-get update   (更新)(建立更新一下)
sudo apt-get upgrade  (升级)(不用升级)
sudo apt-get update && sudo apt-get --assume-yes upgrade   (更新+ 升级)

常见错误

如果更新时报错:Err:5 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal Release

在sudo apt update的时候,出现错误:39 https://mirrors.tuna.tsinghua.edu.cn/ ubuntu focal-security Relea

将更新源中的https改成http就可以了。

配置WSL2使用Ubuntu

查看默认启动的Linux发行版

进入CDM命令终端,查看 默认启动的Linux发行版。

使用命令: wsl -l -v

输入以下命令查看 WSL 版本: wsl -l -v

看到:* Ubuntu-20.04    Running         2   ,结果是满意的。

  • *号表示是默认到发行版本是Ubuntu
  • 2表示是WSL2


常用问题

输入以下命令查看 WSL 版本: wsl -l -v   如果看到以下信息:

发出两个问题:

  1. 看到version是1,我们的目标是要确保 WSL 的版本为 2
  2. 默认的不是Ubuntu ,我们想使用Ubuntu

设置默认启动的Linux发行版

如果显示当前不是 WSL 2 版本,可以通过以下命令设置 WSL 的默认版本

wsl --set-version Ubuntu-20.04 2

可使用wslconfig /s 命令将Ubuntu-20.04设置为默认Linux子系统。

命令:wslconfig /s Ubuntu-20.04     (全命令是: wslconfig /setdefault Ubuntu-20.04

进入wsl2终端的方法

Win10下打开任一命令行工具比如CMD,输入: wsl,可进入wsl2终端

在windows的开始菜单中也可找到Ubuntu

查看Linux版本信息 cat /proc/version ,信息如下图。


四、Win10安装Docker Desktop

下载

Docker Desktop 官方下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows (国外服务访问较慢)

安装

双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。

参考文章  :Windows Docker 安装 https://www.runoob.com/docker/windows-docker-install.html

启动

找到图标双击启动Docker Desktop

启动起来后界面如下

检查

进入CDM命令行,查看版本:  docker version,看到类似下图,就说明Docker Desktop安装成功了