检查要求

  • Windows 10 企业版、专业版或教育版 (必须windows10 1903版本以上)版本号 18362.1049+18363.1049+ ,次版本#大于.1049。最好是最新版(新版windows可以hype-v wsl2 vmvare共存,但安卓模拟器目前还没稳定的共存版本)。建议使用wsl2,安装包容量会比起hype-v小很多 。
  • Windows开启wsl2,建议 Windows 10 2004(版本号不低于 19041.264),可wsl2与vmvare共存。
  • CPU 支持并开启虚拟化(Intel VT-cAMD SVM)。
  • 最少 4 GB 内存。

对于专业版、企业版、教育版可以使用docker desktop wsl2模式,此处无需开启Hype-v

对于Win10 家庭版,Win10 19041.264之前版本,及 Win7 8用户,可以使用docker desktop Hype-v 后端。

修改安装盘

Docker Desktop 默认安装到 C:\Program Files\Docker 并不可更改,这样很不友好,可以通过软连接的方式改变Docker Desktop 默认安装盘。

mklink /J "C:\Program Files\Docker" "D:\Program Files\Docker"

限制wsl2运行最大内存

WSL 是 Microsoft 提供的一项功能,可以使开发人员能够直接在 Windows 上运行 GNU/Linux 环境,无需修改,无需传统虚拟机或双引导设置,减少了开发人员的使用复杂度

在 Docker Desktop 使用了 WSL 2 中的动态内存分配特性,极大地提高了资源消耗。这意味着,Docker Desktop 仅使用其所需的 CPU 和内存资源量,同时使 CPU 和内存密集型任务(例如构建容器)运行得更快。

但WSL2目前一个弊端,可能WSL2 vm会分配所有可用内存,并最终导致操作系统和其他应用程序的内存不足。

所以需要对WLS2内存和CPU资源进行限制,在 cmdpowshell 终端中

wsl --shutdown
notepad "$env:USERPROFILE/.wslconfig"

在用户目录创建一个文件.wslconfig ,编辑 .wslconfig

[wsl2]
memory=3GB # 限制wsl2的虚拟机最大内存
processors=4 # 限制wsl2使用的处理器数量
swap=0 # 不使用交换文件

安装Docker Desktop

完成上面的操作,可以安装Docker Desktop了。从Docker Desktop网站下载安装Docker Desktop for Windows,大于500M。

安装步骤基本上点击操作即可,没有什么难度

镜像路径迁移

当使用了WSL2作为Docker Desktop后端引擎时,WSL 2 Docker-Desktop-Data 的VM磁盘镜像通常在 %USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx 路径下,docker-desktop通常在%LOCALAPPDATA%/Docker/wsl 路径下,因为镜像的大小及一些交换文件,通常会占用大量C盘空间,可以改变其存储位置。

wsl --list -v

输入上述命令可以看到如下内容

  NAME                STATE          VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2

docker-desktop 替换了之前使用的 Hyper-V VM 实现 Docker Desktop。这处理容器的引导和管理。

docker-desktop-data 是存储docker镜像和配置的地方;实际上是对 Hyper-V 以前使用的虚拟硬盘的直接替换。

从这里可以看出Docker Desktop使用了WSL2作为后端引擎时,实际上整个应用作为WLS2的两个子系统进行的。可以通过迁移WSL2系统镜像的存储位置来改变Docker霸占C盘不可转移的弊端。

导出wsl系统镜像

wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar

删除Docker Desktop wsl子系统,此操作会自动删除 ext4.vhdx 文件,故需要先导出一份备份

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

导入重新创建wsl Docker Desktop子系统

wsl --import docker-desktop d:\{new_path} docker-desktop.tar
wsl --import docker-desktop-data d:\{new_path} docker-desktop-data.tar

完成后,启动Docker服务,如果服务正常,可以删除掉 docker-desktop.tardocker-desktop-data.tar

无法启动

我在使用windows时,会安装冰点还原,因为windows10 以上需要 冰点还原 8.38以上,我这里使用 8.38.020.4676 版本时,在开启还原状态时,Docker无法正常启动,在关闭还原时,可以正常启动。更换 8.62.020.5630。后正常。 8.38.020.4676 是2017年的版本,当时Docker对windows兼容并不好,而8.38.020.4676 是2020年发行的版本,目前在使用中并未发现异常。 8.38.020.4676 与 8.62.020.5630为网上常见的纯净的破解版了,所以按需选择使用。

windows下Docker Desktop安装管理的更多相关文章

  1. windows下Docker的安装

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. windows下docker的安装及常用命令学习

    docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...

  3. Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...

  4. Windows下docker的安装以及遇到的问题

      最近因为业务的需要,需要在本地搭建服务环境测试,不想去安装各种软件,于是就想到了用docker来满足我的需要.由于第一次在Windows下安装(以前一直是在linux下使用,但由于内存等硬件的限制 ...

  5. windows下docker的安装并使用

    硬件虚拟化:硬件虚拟化是一种对计算机或操作系统的虚拟.虚拟化对用户隐藏了真实的计算机硬件,表现出另一个抽象计算平台. 打开任务管理器的性能查看是否支持虚拟化技术 下载windows docker ht ...

  6. Windows下docker的安装,将ASP.NET Core程序部署在docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https://www.cnblogs.com/jRo ...

  7. Windows和Centos下Docker的安装配置

    Windows和Centos下Docker的安装配置 windows环境下的安装(win10) 在Windows系统上需要利用toolbox来安装Docker,现在 Docker 有专门的 Win10 ...

  8. (二) Windows 进行 Docker CE 安装(Docker Desktop)

    参考并感谢 官方文档: https://docs.docker.com/docker-for-windows/install/ 下载地址 https://download.docker.com/win ...

  9. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

随机推荐

  1. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

    Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...

  2. k8s滚动更新(8)

    一.k8s版本更新 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 实践:部署 ...

  3. Spring5学习 (核心)

    Spring5 官方文档:https://docs.spring.io/spring/docs/5.3.0-SNAPSHOT/spring-framework-reference/index.html ...

  4. zabbix监控之概念和安装

    一.为什么要要监控 (1)在需要的时刻,提前提醒我们服务器出问题了: (2)当出问题之后,可以找到问题的根源: (3)检查网站/服务器的可用性 1.监控范畴 硬件监控.系统监控.服务监控.性能监控.日 ...

  5. Spring AOP 框架

    引言 要掌握 Spring AOP 框架,需要弄明白 AOP 的概念. AOP 概念 AOP(Aspect Oriented Programming的缩写,翻译为面向方面或面向切面编程),通过预编译方 ...

  6. 10.13 nc:多功能网络工具

    nc命令 是一个简单.可靠.强大的网络工具,它可以建立TCP连接,发送UDP数据包,监听任意的TCP和UDP端口,进行端口扫描,处理IPv4和IPv6数据包.     如果系统没有nc命令,那么可以手 ...

  7. 第一章 DevOps概述

    什么是软件开发 软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程. 软件开发是一项包括需求捕捉,需求分析,实现和测试的系统工程 软件开发有哪些困难? 软件开发的本质困难 复杂性 不可见性 ...

  8. GLSL着色器,来玩

    对实现动画的前端同学们来说,canvas可以说是最自由,最能全面控制的一个动画实现载体.不但能通过javascript控制点.线.面的绘制,使用图片资源填充:还能改变输入参数作出交互动画,完全控制动画 ...

  9. K8s之二进制安装高可用集群

    1.环境准备 #二进制部署安装文档# https://github.com/easzlab/kubeasz/blob/master/docs/setup/00-planning_and_overall ...

  10. Windows 下QT程序发布

    方法1:利用QT自带打包工具 1.新建文件夹,把编译好的exe文件放入该文件夹 2.使用QT下的命令行 3.进入该exe所在文件,执行windeployqt xxx.exe,若出现找不到命令的情况 4 ...