在使用win10上的WSL2时遇到了一个问题:每次重启电脑或wsl2后,wsl2子系统的ip地址就会发生改变。后来在wsl的github上找到了相关的解决方案。
当前问题
在使用win10的wsl2子系统时,windows会通过虚拟交换机给win10本机与wsl2子系统各自会分配一个ip地址,当windows电脑重启并再次打开wsl2时,虚拟交换机会被重新创建,分配给它们的ip地址也会随着改变。
目前我在wsl2上安装了docker环境,启动了一个mysql容器并映射了3306端口到docker宿主机的33306,这样windows可以通过wsl2-ip:33306
访问mysql,docker容器之间也可以通过wsl2-ip:33306
访问mysql。 但是wsl2子系统的ip地址不固定,导致每次重启wsl2都会查看当前的ip地址并修改相关链接配置,十分不方便。
解决方案
解决方案是我在wsl的github上的issue上看到的 ===> 传送门。
方案的大致内容就是:既然固定不了wsl2的ip地址,那么就在启动wsl2后主动给它设置一个ip地址。
我按照上面的思路并结合自己的需求编写了一个简单的bat脚本