我想在兩種情況下從一個應用程序容器連接到數據庫容器,一個成功,一個沒有。碼頭:通過dockerhost連接到數據庫容器
有兩個容器我dockerhost:與連接到3356上dockerhost 3306端口
- mysql的容器
- 應用程序容器
在工作中,dockerhost具有IP地址10.0.2.15 ,在家裏,dockerhost的IP地址是192.168.8.11(主機名-I)。
在這兩種情況下,我想從應用程序容器與主機10.0.2.15/192.168.8.11和端口3356
連接到數據庫容器。當我做這個工作(Windows網絡中,流浪/ VirtualBox虛擬dockerhost) ,這是沒有問題的。我可以從應用程序容器中'telnet 10.0.2.15 3356'並連接到db容器。 當我在家裏做這個(Ubuntu)時,不可能連接。唯一的方法是使用端口3306的db容器(172.17.0.2)的docker ip地址。但是,我可以ping 192.168.8.11。
啓動容器的腳本是相同的;我不使用--add-host,因此dockerhost IP地址不在/ etc/hosts中。
有什麼建議嗎?
閱讀文件上的連接容器:http://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/ –
和最近的碼頭工人的版本引入了新的網絡功能:HTTP: //docs.docker.com/engine/userguide/networking/dockernetworks/ –
我沒看過文檔。問題是,爲什麼它在一種情況下而不是在另一種情況下是相同的。在這兩種情況下都使用Docker 1.9。 – Chris