网络-从Docker容器连接到远程MySQL数据库
我在AWS中有两个服务器,两个服务器都在一个安全组中,该组允许安全组成员之间所有端口上的所有流量.在一个服务器上,我有一个MySQL服务器(没有docker,我们将此服务器称为“ MySQL服务器”),在另一台服务器上,我有docker(我们将其称为“ Docker服务器”).我想从docker服务器上的容器中访问MySQL,而不必通过Internet路由流量(我想改用MySQL服务器的内部IP地址). 这可能吗?我有什么选择? 到目前为止我尝试过的 我已经将MySQL服务器配置为侦听所有接口,仅用于测试.这使我可以从Docker服务器成功连接到MySQL服务器(使用mysql客户端连接到MySQL服务器的私有IP地址).但是,当我启动容器时,会创建一个新的网络名称空间,因此我无法再访问MySQL服务器的私有IP地址. 我已经尝试使用here所述的大使容器,但是遇到了同样的问题,大使容器内部没有MySQL服务器的专用IP地址. 例 这是一个示例来说明问题和我正在尝试做的事情. 从Docker服务器(尚未在任何容器中):
但是从容器中尝试:
我之所以这样,是因为我知道Docker仅为容器创建了一个新的专用网络,但我所知还不足以解决我想做的事情. 如何连接东西以便能够从容器中访问mysql服务器? 最佳答案
是的,那是可能的.
容器是否可以与世界对话取决于两个因素.第一个因素是主机是否正在转发其IP数据包.第二个问题是主机的iptables是否允许此特定连接. >要检查内核上的设置或手动将其打开:(确保设置为1)
>如果守护程序启动时设置–iptables = false,则Docker将永远不会更改系统iptables规则.否则,Docker服务器将转发规则附加到DOCKER过滤器链.因此,请确保不要使用–iptables = false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Vim与西里尔符号无法正常工作
- angularjs – Angular ui-router:父视图和子视图
- twitter-bootstrap – Jquery Select2 -Chain se
- class – 如何在文档中引用实例方法?
- bash – 使用rvm通过cron执行rails runner的shel
- 20分钟打造属于你的Bootstrap站点
- angularjs – ng -inc with $state.go()来自ui-r
- shell – 将文件名添加到xargs和awk命令的输出中
- vim – 如何在NERDTree中在默认情况下在新选项卡
- angular – ng2:如何在ngFor循环中创建变量