按照脚本建议在windows里面安装Docker Desktop for windows,其中有个选项叫为wsl2安装相关组件。
装完以后wsl2里面的docker就可以正常使用了
不过这个玩意装完以后发现一个问题,local用127.0.0.1访问wsl上的服务不行了,必须得用具体IP访问了。
分析一下这个后面的的机制,首先Docker容器是一种基于Linux内核的技术,所以Windows上面跑Docker必须有Linux虚拟机支持,WSL本身就是Windows系统自带的虚拟机,那么Windows上的Docker理所当然用WSL来做Docker的虚拟机支持技术方便一点。这就解释了为什么WSL2里面装Docker的时候,官方探测到系统是WSL2,建议你去装Docker Desktop for windows,因为那是这个系统场景的标配。在WSL虚拟机里面直接安装Docker并可用的话,就把上面这个设计决策在WSL里面的坑给占了。