安装Docker DeskTop之Window系统,WSL2

安装说明

Windows系统,官网只提供了Docker Desktop版的安装说明。有两种方式,一种是基于WSL(Windows Subsystem for Linux)2,运行在Linux虚拟机中,使用Linux容器。还有一种是基于Hyper-V,使用Windows容器,直接运行在Windows操作系统中。
Docker Desktop版本包含的组件:

  • Docker Engine
  • Docker CLI client
  • Docker Buildx
  • Extensions
  • Docker Compose
  • Docker Content Trust
  • Kubernetes
  • Credential Helper

Docker Desktop版本的特性:

  • 能够将应用程序容器化并部署到任何云平台,支持多种语言和框架。
  • 快速安装和设置完整的Docker开发环境。
  • 包含最新版本的Kubernetes。
  • 在Windows上构建应用程序,可以方便的切换Linux和Windows Server环境。
  • 通过本地Windows Hyper-V虚拟化技术,实现快速可靠的性能。
  • 在Windows机器上,也能通过WSL 2运行Linux系统。
  • 支持代码和数据的卷挂载,支持文件更改通知,可以通过本地主机网络访问运行中的容器。

先决条件

WSL版本1.1.3.0或更高版本。
Windows 11 64位:家庭版或专业版21H2或更高版本,或企业版或教育版21H2或更高版本。
Windows 10 64位:家庭版或专业版21H2(版本19044)或更高版本,或企业版或教育版21H2(版本19044)或更高版本。
在Windows上启用WSL 2功能。

要在Windows 10或Windows 11上成功运行WSL 2,需要以下硬件先决条件:
带有第二级地址转换(SLAT)的64位处理器
4GB系统内存
必须在BIOS设置中启用基于BIOS的硬件虚拟化支持。

安装Docker Desktop

安装包安装

  • 下载并双击Docker Desktop Installer.exe
  • 在出现提示时,确保在配置页面上选择“使用 WSL 2 而不是 Hyper-V”选项。
  • 按照安装向导上的说明授权安装程序并继续安装。
  • 安装成功后,单击“关闭”以完成安装过程。运行安装程序。
  • 如果不是管理员用户,则必须将用户添加到 docker-users 组中。首先以管理员身份运行计算机管理,找到本地用户和组->组->docker-users。右键单击以将用户添加到组中。注销并重新登录以使更改生效。

命令行安装

  • 下载Docker Desktop Installer.exe

  • 执行命令

    "Docker Desktop Installer.exe" install
    
  • 执行命令

    start /w "" "Docker Desktop Installer.exe" install
    

    安装参数

    –quiet:在运行安装程序时抑制信息输出

    –accept-license:现在接受 Docker 订阅服务协议,而不是在首次运行应用程序时需要接受它

    –no-windows-containers:禁用 Windows 容器集成

    –allowed-org=:要求用户在运行应用程序时登录并成为指定的 Docker Hub 组织的一部分

    –backend=:选择要用于 Docker Desktop 的默认后端,hyper-v、windows 或 wsl-2(默认)

    –installation-dir= :更改默认安装位置(C:\Program Files\Docker\Docker)

    –admin-settings:自动创建 admin-settings.json 文件,该文件由管理员用于在其组织内的客户端计算机上控制某些 Docker Desktop 设置。
    例如:–allowed-org= --admin-settings=‘{“configurationFileVersion”: 2, “enhancedContainerIsolation”: {“value”: true, “locked”: false}}’

    –proxy-http-mode=:设置 HTTP 代理模式,系统(默认)或手动

    –override-proxy-http=:设置必须用于出站 HTTP 请求的 HTTP 代理的 URL,需要 --proxy-http-mode 为手动

    –override-proxy-https=:设置必须用于出站 HTTPS 请求的 HTTP 代理的 URL,需要 --proxy-http-mode 为手动

    –override-proxy-exclude=<hosts/domains>:绕过主机和域的代理设置。使用逗号分隔的列表。

    –hyper-v-default-data-root= :指定 Hyper-V VM 磁盘的默认位置。

    –windows-containers-default-data-root= :指定 Windows 容器的默认位置。

    –wsl-default-data-root= :指定 WSL 分发磁盘的默认位置。

    –always-run-service:让用户在不需要管理员权限的情况下切换到 Windows 容器。

  • 添加用户

    net localgroup docker-users <user> /add`