Docker容器内连接宿主机即Windows的Mysql服务器
时间:2021-02-15
本文章向大家介绍Docker容器内连接宿主机即Windows的Mysql服务器,主要包括Docker容器内连接宿主机即Windows的Mysql服务器
Docker容器内连接宿主机即Windows的Mysql服务器 时间:2021-02-15 本文章向大家介绍Docker容器内连接宿主机即Windows的Mysql服务器,主要包括Docker容器内连接宿主机即Windows的Mysql服务器使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 博主最近遇到一种情况,从服务器拷贝了一份数据库在宿主机Mysql服务器上mysql主机,想要用本地的数据库测试自己的代码正确性,但是项目程序都是靠docker一键部署的,于是必定要在docker容器里访问到本地的数据库。在探索中遇到了问题并得到了解决。在docker容器里localhost并不是指宿主机的localhost 由此原因,并不能在容器中通过localhost:3306访问到宿主机的mysql docker在运行时就建立了虚拟网卡,并命名为docker0 我们可以在宿主机上运行ifconfig看到它,这就是宿主机建立的网桥,用于与各个容器之间通信 宿主机在与容器同一局域网的IP地址一般是docker0对应的IP地址段的首个地址(如172.17.0.1) 我们可以在容器里通过172.17.0.1:3306访问到宿主机的mysql服务器 mysql服务器默认的设置为允许127.0.0.1段的ip地址访问 所以此时用172.17.0.1:3306仍然无法访问到宿主机 此时需要在设置一下mysql
docker内的应用访问宿主机上的mysql和Redis 背景:宿主机部署MySQL、Redis,docker内部署tomcat、jdk 需求:tomcat内的应用访问宿主机的MySQL和Redis 方法: 一、连接地址切记不能用localhost和127.0.0.1 这些地址代表的都是容器内的系统,根本没有访问到宿主机,会一直报连接mysql/redis异常。 二、用docker的虚拟网卡地址 在宿主机查询网卡情况------ifconfig docker0这块虚拟网卡的 inet 地址就是正确的本地ip(如172.17.0.1)
(编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |