2016-10-20 274 views
-2

我第一次使用Docker。創建一個MySQL-Server容器,並開始像這樣:Docker連接MySQL服務器

docker run --name aitec -e MYSQL_ROOT_PASSWORD=help -d mysql:latest 

我甚至可以將它連接這樣的:

docker run -it --link aitec:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' 

我有mysql的控制檯,我可以創建一個新的數據庫。現在我的問題開始了。我正在使用PHP連接到數據庫,但它不起作用。但在此之前,我發現,telnet localhost 3306讓我的連接失敗。所以港口甚至沒有打開。也許這是問題所在。我正在使用Windows 10,甚至禁用防火牆和所有給定的功能。

回答

1

嘗試:

telnet 192.168.99.100 3306 

記得在窗戶,碼頭工人通過虛擬Linux機器通過VirtualBox的成立運行。因此,您無法通過本地主機訪問它,而是通過虛擬機的IP訪問它。

您可以運行:

docker-machine env 

讓虛擬機的IP地址,但它通常192.168.99.100

還需要使用泊塢窗運行,露出主機上的端口是 - p 3306:3306

+0

這就是我得到的錯誤:沒有指定機器名稱,也沒有「缺省」機器存在。 –