官方手册供参考:https://docs.docker.com/desktop/windows/

一:什么是Docker?

Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。

Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 容器更多的用于表示 软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。另外,Docker也为容器提供更强的业界的隔离兼容。

二:安装Docker

在安装之前,Windows 版 Docker 的环境有以下要求。

Windows 10 Pro(专业版) / Enterprise(企业版) / Education(教育版)(1607 Anniversary Update、Build 14393 或者更新的版本)。

Windows 必须是 64 位的版本。

需要启用 Windows 操作系统中的 Hyper-V 和容器特性。

接下来的步骤会假设读者的计算机已经开启了 BIOS 设置中的硬件虚拟化支持。如果没有开启,读者需要在机器上执行下面的步骤。

首先,读者需要确认在 Windows 10 操作系统中,Hyper-V 和容器特性已安装并且开启。

  1. 右键单击 Windows 开始按钮并选择“应用和功能”页面。

  2. 单击“程序和功能”链接。

  3. 单击“启用或关闭Windows功能”。

  4. 确认Hyper-V和容器复选框已经被勾选,并单击确定按钮。
    Windows下安装Docker详细过程及问题解决_Windows
    Windows下安装Docker详细过程及问题解决_docker_02

(可选)新建文件hyper-V.cmd将以下内容copy并执行
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
(可选)新建文件containers.bat将以下内容copy并执行
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del containers.txt
Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
pause
按上述步骤操作完成后,会安装并开启 Hyper-V 和容器特性,如下图所示。这时需要重启操作系统。

(一)安装WSL2

WSL,即Windows Subsystem on Linux,中文叫“适用于 Linux 的 Windows 子系统”。可以在windows里,直接启动一个linux系统。因为docker依赖linux内核,只能在linux下使用,windows就需要安装linux虚拟机来运行,而微软已经在win10内置了一个轻量级虚拟机,WSL2 便是运行在虚拟机上的一个完整的 linux 内核,所以需要利用WSL2安装docker。

微软要求 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11

设置->更新和安全->操作系统内部版本信息

下载wsl2需要的linux内核:
``网址: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel`
点击下载最新的更新包,下好后双击运行安装即可。
Windows下安装Docker详细过程及问题解决_Docker_03

(二)安装Docker Desktop for Windows

https://www.docker.com/products/docker-desktop/
下好后直接双击运行安装即可
Windows下安装Docker详细过程及问题解决_其他_04

(三)更改镜像源

在国内从官方的DockerHub拉取镜像经常会比较感人,所以我们需要利用国内的镜像源或者加速器
阿里云:https://cr.console.aliyun.com/cn-qingdao/instances/mirrors
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/

{
  "registry-mirrors": [
    "https://1nj0zren.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://f1361db2.m.daocloud.io",
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [],
  "debug": true,
  "experimental": false
}

也可以用阿里云,需要到阿里云官网获取。

当配置某一个镜像源地址之后,若发现拉取不到镜像,切换一个地址就行。

(四)更改数据存储位置

Windows下的docker默认安装在C盘,所以为了拯救我们可怜的C盘,就需要把数据存储到其他盘。

1.停止docker服务
Windows下安装Docker详细过程及问题解决_docker_05

2.备份数据到另一个文件夹

wsl --export docker-desktop-data "D:\DockerData\docker-desktop-data.tar"

Windows下安装Docker详细过程及问题解决_Windows_06

3.删除原有数据

wsl --unregister docker-desktop-data

Windows下安装Docker详细过程及问题解决_docker_07

4.更改数据存储盘并恢复数据

wsl --import docker-desktop-data "D:\DockerData" "D:\DockerData\docker-desktop-data.tar" --version 2

Windows下安装Docker详细过程及问题解决_其他_08

即将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为E:\DockerData,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径

然后启动docker就可以啦

Windows下安装Docker详细过程及问题解决
windows10家庭版安装docker踩坑
windows 10更改WSL Docker镜像目录
An unexpected error was encountered while executing a WSL command.

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。