一、换源拉取镜像
docker-desktop下载:docker-desktop
由于众所周知的原因,在国内是很难访问到国外镜像的,因此首先还是得换源,具体配置见上一篇Docker的配置。
然后拉一下阿里的一个项目:k8s-for-docker-desktop
拉完后,检查自己Kubernetes的版本:
可以看到我安装的Kubernetes版本为v1.18.8,然后在k8s-for-docker-desktop项目的README中查看,找到自己对应的分支。
如果找不到自己的Kubernetes对应的版本号,则修改k8s-for-docker-desktop项目中images.properties
文件中镜像的版本号为自己Kubernetes对应的版本号。
切换好分支后,如果PowerShell提示”因为在此系统上禁止运行脚本“:
D:\projects\k8s-for-docker-desktop\load_images.ps1 : 无法加载文件 D:\projects\k8s-for-docker-desktop\load_images.ps1,
因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Pol
icies。
所在位置 行:1 字符: 1
+ D:\projects\k8s-for-docker-desktop\load_images.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
则以管理员运行PowerShell,执行以下命令即可:
Set-ExecutionPolicy RemoteSigned
如果非管理员运行,则会报以下错误:
Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的
访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动 Windows PowerShell。要更改当前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
所在位置 行:1 字符: 1
然后到项目根下运行:
./load_images.ps1
待所有镜像安装完毕,可以在Docker中看到以下镜像:
如果启动不成功,先关闭Docker,然后删除以下文件夹:
C:\ProgramData\DockerDesktop
C:\Users\用户\.kube
二、启动Kubernetes
重新运行Docker,开启Kubernetes:
成功启动后,可以看到运行中的容器: