内网环境下修改Docker Toolbox的访问地址并暴露端口
说明
前久遇到一个比较奇葩的问题,我们都知道在Windows环境下配置Docker Toolbox,启动后docker访问地址是192.168.99.100,但如果此时我们内网配置的ip网段也在192.168这个网段上,会导致我们启动docker后ping别人的机器比如192.168.1.163不通,因为别人的机器也被当成是docker的适配器管理下的了,当然会找不到,在此记录一下解决方法
快速开始
首先思考为什么会有这个问题,打开网络适配器,查看VirtualBox的网段设置
好在这我们发现了192.168.99.1,然后子网掩码为255.255.255.0,这表示192.168.1.XXX都是由这个适配器控制的,我们的目标就是把192直接换成其他的网段,比如151,那么在哪里改这个配置呢?
在网上搜索了很多的资料,都是说在/etc/docker/daemon.json这个配置文件里修改,但我这是Windows环境啊!(;д;)。好,我又想到这种配置文件一般都在C盘,那么我们去docker的C盘用户配置文件里一个一个看看吧->
等等。。。这个config.json看着很像嘛,我们打开看看->
好嘛,藏得还挺深,但被我找到了哈哈,问题在这,那我们直接把这两个192全部换成151,然后重启电脑,重新启动docker,
果然,又给我重新创建了一个适配器,启动成功看看是不是151.168.99.100这个IP了
嗯 成功
端口暴露
在这顺便记录一下怎么暴露端口给内网其他机器访问吧
方法就是使用docker toolbox安装时的自带的Oracle VM VirtualBox,打开这个软件,在这配置你想暴露的端口即可,比如这里暴露了3306(mysql默认端口)(当然,前提是别人已经能ping通你的机器了比如关闭防火墙,之后才能访问的到)