多克尔:在相同的主机从另一个容器访问到MySQL容器(没有到主机的路由错误)

问题描述:

我有一个虚拟机与该IP:10.23.23.23 在这个VM,多克尔运行和2升的容器被创建:多克尔:在相同的主机从另一个容器访问到MySQL容器(没有到主机的路由错误)

  • Container1(正在运行Apache):此容器暴露端口13080和Bin的apache的容器内部的端口80
  • container2的(MySQL的):此容器暴露端口5555和绑定容器中的mysql的端口3306

在Container1,我试图访问container2的,但我得到了以下错误:SQLSTATE[HY000] [2002] No route to host

注:

VM主机上运行以下命令:

ip addr show docker0 

回报:

3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 02:42:cf:7e:ea:b7 brd ff:ff:ff:ff:ff:ff 
    inet 172.17.0.1/16 scope global docker0 
     valid_lft forever preferred_lft forever 
    inet6 fe80::41:cfff:fe7e:eab7/64 scope link 
     valid_lft forever preferred_lft forever 

我能做些什么才能够从第一个容器加入第二个容器(mysql)?

+0

请包括用于启动每个容器的命令/ config,以及您在container1中使用的主机名/端口以访问container2。 – BMitch

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎是无关紧要的,因为它不是关于编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://*.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

这似乎是IP:PORT揭露问题。如果您想使用主机IP来引用容器,请确保mysql正在监听容器中的所有IP,即0.0.0.0,然后尝试使用主机端口。

通常,当容器中的服务在localhost/127.0.0.1上运行时,会发生这些问题。