天天看點

Windows 11 安裝 Docker Desktop

作者:opendotnet

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 版本。
  • 具有

    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 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

的相關操作。