docker是一款比较好用的容器工具,可以快速的把项目进行部署,不受操作系统的限制,有一些纯内网项目中,不方便搭建对应环境而且环境也比较麻烦的时候,我们公司一般会采用docker进行快速部署,今天使用docker部署项目时,执行对应的mysql数据导入工具出现了下面的提示。
sqlstate2002错误,这是无法连通mysql数据库服务器,我本地测试mysql连接一切正常,那只能是容器和宿主机通信出了问题,检查了下数据库的配置文件,看到DB_host是127.0.0.1,容器的ip是172.17.0.2,通过ifconfig看到本地的docker网络连接的ip是172.17.0.1,那么我们就把配置文件修改为和docker同一网段即可,但是还需要注意需要把数据库对应的访问权限设置为容器的IP172.17.0.2,不然非172.17.0.2连接mysql服务器依然会拒绝。
设置完成后,重新在执行下导入数据库的脚本,发现数据库正常连接了,数据库文件也能够正常导入了。
docker容器和宿主机需要对应的IP进行关联,127.0.0.1可以在和宿主机共享网络的情况下使用,这种情况下docker容器端口和宿主机端口不能相同,不然也会产生端口冲突的情况。
上一篇: 阿里云效项目管理工具自动化的一些操作说明
下一篇: 分享一个高清截图工具-Snipaste