跳至主要内容

博文

目前显示的是标签为“Hyper-V”的博文

Update Docker Desktop to use WSL2

PC 总算吃到了 Windows 10 的 2004 版本更新。 重启完毕之后 Docker Desktop 提示说可以将后端从 HyperV 虚拟机改为 WSL2,效能更佳。 听信了“广告”,下载了一个微软的内核更新程序,安装顺利,然后重启 Docker Desktop 就给跪了……错误信息说是 > 'C:\Users\john.doe\AppData\Local\Docker\vm-config\config.iso' 正由另一进程使用 搜索万能的 Google 后找到了这篇讨论: https://github.com/docker/for-win/issues/6822 简单来说就是 HyperV 仍旧在用,要么是到 HyperV 的管理器里头 shutdown 为 Docker 服务的那台虚拟机,并设置为不再随操作系统自动启动,然后重启一下 Docker Service;要么跑几个命令行分别关闭 Docker Desktop 和 WSL 再逆序启动。依据第一个方法速度解决了这个问题。

Fix Docker Desktop in Windows using MOFCOMP

前一段 Windows 10 上的 Docker Desktop 突然不工作了,卸载重装也无效。一开始以为是 HyperV 里面什么地方被折腾坏了,但是删光了自定义的网络和设备仍旧无助。 后来在[某处](https://www.soinside.com/question/YKwpTYAjjstuUjDSvdkKx9) 看到有人给了这么一条命令(需要以系统管理员权限执行): MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof 重启之后重装居然解决了! `mofcomp` 貌似是 Windows Management Instrumentation (WMI) 中的[一个命令行工具](https://docs.microsoft.com/en-us/windows/win32/wmisdk/mofcomp), > Mofcomp.exe 是一个操作系统工具,用于编译 MOF 文件,并将文件中包含的信息添加到 WMI 存储库中。 坦白说暂时还不清楚为什么这个命令管用,先记下来以备不时之需……

Running Kubernutes in Windows 10

试着在 Windows 10 PC 上玩 docker 和 Kubernetes。作为容器管理平台,Kubernetes 可以被安装并运行在不同类型的环境下,包括开发者的笔记本电脑,或是云服务商的VM,甚至是一组裸机上…… 参考官方文档 [Picking the Right Solution](https://kubernetes.io/docs/setup/pick-right-solution/) 找到了适合创建单机单节点 Kubernetes Cluster 的 [Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/#minikube-features)。 Minikube 提供的特性包括: * DNS * NodePorts * ConfigMaps and Secrets * Dashboards * Container Runtime: Docker, rkt and CRI-O * and etc. 安装 Minucube 的步骤看起来也挺简单的,先要 PC 的 BIOS 支持 VT-x 或是 AMD-v 虚拟技术,这年头只要不是太老的 PC 都行。接着需要在 OS 里装一个 Hypervisor,对 Windows 而言常见的就是 VirtualBox 或者 Hyper-V。 之前为了安装 Docker for Windows 卸载了 VirtualBox 改用 Hyper-V,因为 docker 的文档 [Machine Driver](https://docs.docker.com/machine/drivers/hyper-v/) 里明说了: > Hyper-V must be enabled on your desktop system. Docker for Windows automatically enables it upon install 谁让人家是微软的亲儿子捏? 接着要安装 `kubectl` 这是 Kubernetes 的 CLI (命令行工具),在 Windows 10 里可以利用 Chocolatey 包管理器来[代为安装](https://kubernetes.io/docs/tasks/tools/inst...