Windows 11 安装 Docker Desktop

Windows 环境安装 WSL2

WSL 简介

WSL 全称是 Windows Subsystem for Linux ,适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。

简单的说就是 WSL 能让你在不安装 Linux 或者 VM(虚拟机)的情况下体验双系统!.

关于 WSL 更多信息,请查看 => https://learn.microsoft.com/zh-cn/windows/wsl/about 比较 WSL 版本,请查看 => https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions

Windows 系统配置要求:

  • 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。
  • 对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。

例如:Windows 10 May 2020(2004)Windows 10 May 2019(1903)Windows 10 November 2019(1909)或 Windows 11。注意:低于 18362 的版本不支持 WSL 2。使用 Windows Update 助手更新 Windows 版本。

Windows Update 助手 下载地址,https://www.microsoft.com/zh-cn/software-download/windows10

  • 具有 Hyper-V 虚拟化技术支持的计算机;

关于虚拟化技术说明:

虚拟化技术(Virtualization Technology,简称 VT),这种技术简单来说就是让可以让一个 CPU 工作起来就像多个 CPU 并行运行,从而使得在一台电脑内可以同时运行多个 OS 操作系统。

英特尔(Intel) 和 AMD 的大部分 CPU 均支持 VT 技术:

  • 特尔(Intel) 名称为 VT-x
  • AMD 名称为 AMD-V

VT 开启之后对 VM 的性能有较大的提高。(比如:VMware、Hyper、安卓模拟器 等)

参考:https://zhuanlan.zhihu.com/p/394990397

检查 Windows 版信息

检查 Windows 版本及内部版本号,选择【Windows 徽标键 + R】,然后键入“winver”,选择【确定】。

Windows 11 安装 Docker Desktop
winver

Windwos 安装 WSL2

说明:以下操作均以【管理员】身份打开 Windows PowerShell 或 Windows Terminal,输入指令执行。

此处以 Windows Terminal 为例,操作步骤如下:

1、启用 WSL

不管您想要使用哪个版本的 WSL,都首先需要启用它。Windows Terminal输入命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2、启用 “虚拟机平台”

WSL2 需要启用 Windows 10 的 “虚拟机平台” 特性。它独立于 Hyper-V,并提供了一些在 Linux 的 Windows 子系统新版本中可用的更有趣的平台集成。

  • Windows 10(2004) 上启用虚拟机平台:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • Windows 10(1903,1909) 上启用虚拟机平台:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

说明:此步骤为了确保所有相关部件配置生效,您应该在此时重启系统,否则可能会发不符合预期的情况。

3、设置 WSL2 为默认值

Windows Terminal 输入以下命令,将 WSL2 设置为 WSL 的默认版本:

wsl --set-default-version 2

4、安装一个 Linux 发行版

有了 WSL 和 必要的虚拟化技术,接下来去 Microsoft Store 下载并安装 Linux 发行版,这里以 Ubuntu 22.04.2 LTS 为例。

注意:去商店(Microsoft Store)安装的 Linux 发行版只能安装在 C 盘。

  • 4.1 Microsoft Store 搜索 linux,选择 Ubuntu 22.04.2 LTS
Windows 11 安装 Docker Desktop
Microsoft Store 搜索 linux
  • 4.2 Ubuntu 22.04.2 LTS 详情:
Windows 11 安装 Docker Desktop
ubuntu 详情
  • 4.3 点击【安装】按钮,等待安装完成。
Windows 11 安装 Docker Desktop
安装 ubuntu
  • 4.4 安装完以后在 Windows Terminal 中点开 Ubuntu,按照提示初次设置用户名和密码,注意用户名不支持大写。
Windows 11 安装 Docker Desktop
ubuntu 安装完成
  • 4.5 使用 WSL2

最后显示 Installation successful! 就说明安装成功!整个过程挺简单的,毕竟是 WSL(Windows 的子系统),对 Windows 用户很友好。

Windows 环境安装 Docker Desktop

下载 Docker Desktop

注意选择 OS 平台下载相应的 Docker Desktop(下载地址 => https://docs.docker.com/desktop/),下载后以【管理员】身份运行 Docker Desktop 执行安装操作。

Windows 11 安装 Docker Desktop
下载 docker

安装 Docker Desktop

Docker Desktop 安装好后,启动运行:

Windows 11 安装 Docker Desktop
docker start

配置 Docker Desktop

  • 点击设置【Settings】
Windows 11 安装 Docker Desktop
General
  • 选择【Docker Engine】添加如下配置:
Windows 11 安装 Docker Desktop
Docker Engine

json 配置信息如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ],
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [
    "https://hub.atguigu.com"
  ],
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com/"
  ]
}

添加配置后,点击左下角的【Apply & restart】按钮,等待配置生效并重启完成。

Windows 11 安装 Docker Desktop
Docker Engine2

终端命令验证 Dcoker 是否安装成功

接下来我们打开 Windows Terminal,输入命令:

docker version

输出如下信息:

Client:
 Cloud integration: v1.0.29
 Version:           20.10.22
 API version:       1.41
 Go version:        go1.18.9
 Git commit:        3a2c30b
 Built:             Thu Dec 15 22:36:18 2022
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.16.3 (96739)
 Engine:
  Version:          20.10.22
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.9
  Git commit:       42c8b31
  Built:            Thu Dec 15 22:26:14 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.14
  GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

或者输入命令:

docker info

输出信息如下:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.10.0)
  compose: Docker Compose (Docker Inc., v2.15.1)
  dev: Docker Dev Environments (Docker Inc., v0.0.5)
  extension: Manages Docker extensions (Docker Inc., v0.2.17)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.23.0)

Server:
 Containers: 7
  Running: 3
  Paused: 0
  Stopped: 4
 Images: 30
 Server Version: 20.10.22
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 9ba4b250366a5ddde94bb7c9d1def331423aa323
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.16.3-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 13.59GiB
 Name: docker-desktop
 ID: SRPD:RTAI:YAGO:44HL:DPFW:KUPZ:RPYW:OX3X:VBZP:24GQ:YFVN:NPLX
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5000
  hub.atguigu.com
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com/
  http://hub-mirror.c.163.com/
  https://mirror.ccs.tencentyun.com/
  https://docker.mirrors.ustc.edu.cn/
  https://cr.console.aliyun.com/
 Live Restore Enabled: false

看到上面输出的信息,说明 Windows 环境的 Docker Desktop 就安装完成了,此处是使用 WSL2 安装的 linux 发行版,我们可以 linux 原生环境体验 Docker 的相关操作。