windows下Docker Desktop安装管理

检查要求

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

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

修改安装盘

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

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 终端中code

wsl --shutdown
fsutil file createNew %UserProfile%/.wslconfig 0
notepad "%UserProfile%/.wslconfig"

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

[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为网上常见的纯净的破解版了,因此按需选择使用。

相关文章
相关标签/搜索