目 录CONTENT

文章目录

Windows下使用Docker容器的踩坑记录

ZOUNAN
2022-05-28 / 0 评论 / 0 点赞 / 470 阅读 / 889 字
温馨提示:
本文最后更新于 2022-05-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

看到这个标题,很多朋友就会忍不住问了,为啥不用Linux跑docker? 好吧,不是我不想用,是世界就是这么奇妙,软件需要调用C++中的win32模块,只能是Windows能跑。

还是先来说下如何安装吧,稍稍有点门道,要先启用Hyper-V,再安装Docker。在开始菜单上搜索Hyper-V,找到启用或关闭Windows功能。
image
在Windows功能上找到Hyper-V,打上勾,点击确定,重启电脑。
image
下载安装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却偏偏不这样干,根本没有选择的机会。

image

先在D盘建立Docker文件夹,我这里位于D:\Program Files\目录下,使用管理员命令创建软连接:

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

image

这样在执行前面的安装程序时,就会安装到D盘里了。

坑2

在Linux下使用Docker时,其实是使用系统分配的资源,管理员不必去太费心管理资源分配问题。但当我以为Windows也是一样,我的程序却始终启动不了。
image
实际上Windows是利用Hyper-V虚拟了一个机器,这个机器也是Linux,是需要对它进行资源分配的。因为它的默认值太小了,导致我的应用跑起来之后,虚拟机内存不够,进而疯狂向硬盘写入。

image
解决的办法就是在Docker的设置里,把资源分配到一个合理值。
image

0

评论区