看到这个标题,很多朋友就会忍不住问了,为啥不用Linux跑docker? 好吧,不是我不想用,是世界就是这么奇妙,软件需要调用C++中的win32模块,只能是Windows能跑。
还是先来说下如何安装吧,稍稍有点门道,要先启用Hyper-V,再安装Docker。在开始菜单上搜索Hyper-V,找到启用或关闭Windows功能。
在Windows功能上找到Hyper-V,打上勾,点击确定,重启电脑。
下载安装Docker Windows版本,先不要着急安装,备用。
https://hub.docker.com/editions/community/docker-ce-desktop-windows
坑0
这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!
坑1
在Windows下安装过软件的同学都知道,一般正常的安装程序,双击之后一直下一步就能安装到我们的电脑上,默认是C盘。如果C盘空间不够大,那么在安装路径上改一下就好,把安装地址换到其它盘上。然而,安装Docker却偏偏不这样干,根本没有选择的机会。
先在D盘建立Docker文件夹,我这里位于D:\Program Files\目录下,使用管理员命令创建软连接:
mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
这样在执行前面的安装程序时,就会安装到D盘里了。
坑2
在Linux下使用Docker时,其实是使用系统分配的资源,管理员不必去太费心管理资源分配问题。但当我以为Windows也是一样,我的程序却始终启动不了。
实际上Windows是利用Hyper-V虚拟了一个机器,这个机器也是Linux,是需要对它进行资源分配的。因为它的默认值太小了,导致我的应用跑起来之后,虚拟机内存不够,进而疯狂向硬盘写入。
解决的办法就是在Docker的设置里,把资源分配到一个合理值。