Linux解决方案(内核=3.6)。
好的,你的本地主机服务器有默认的Docker接口
道克尔0
带IP地址
172.170.1
. 容器以默认网络设置启动
--net=“桥”
.
-
为Docker0接口启用Route\u LocalNet:
$ sysctl -w net.ipv4.conf.docker0.route_localnet=1
-
将此规则添加到iptables:
$ iptables -t nat -I PREROUTING -i docker0 -d 172.17.0.1 -p tcp --dport 3306 -j DNAT --to 127.0.0.1:3306
$ iptables -t filter -I INPUT -i docker0 -d 127.0.0.1 -p tcp --dport 3306 -j ACCEPT
-
从“%”创建具有访问权限的MySQL用户,这意味着-来自任何人,不包括本地主机:
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
-
将脚本中的mysql服务器地址更改为172.17.0.1
从
kernel documentation
:
路由本地网
-布尔值:路由时不要将环回地址视为火星源或目标。这允许使用127/8进行本地路由(
默认为False
)