2015-02-08 37 views
0

我仍然是一個docker的初學者,試圖使用docker來幫助我開發原型。我的環境是Mac的使用boot2docker,版本如下無法連接到本地的dockerized mysql容器

Client version: 1.3.1 
Client API version: 1.15 
Go version (client): go1.3.3 
Git commit (client): 4e9bbfa 
OS/Arch (client): darwin/amd64 
Server version: 1.3.2 
Server API version: 1.15 
Go version (server): go1.3.3 
Git commit (server): 39fa2fa 

我跑瞭如下的命令:

docker run --name mymysql -e MYSQL_ROOT_PASSWORD=mypw -e MYSQL_DATABASE=bullshit -d mysql -p 3306:3306 
docker start mymysql 

我可以看到過程如下運行:

CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 
22d3f780c270  mysql:5    "/entrypoint.sh -p 3 2 minutes ago  Up 2 seconds  3306/tcp   mymysql 

不過我還是無法連接到在Docker中運行的mysql實例。我試圖連接到由檢索到的IP:

$ boot2docker ip  
The VM's Host only interface IP address is: 192.168.59.103 

請給我如何解決這個問題的一個指針,我通過教程去了,但我不知道哪裏出了問題。

回答

2

您使用的命令應該給出錯誤。對於搬運工人運行的語法如下:

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

你必須指定使用(你的情況MySQL的)圖像前提交的選項docker run,如果是這種情況,命令和可能的參數( s)到那個命令。 未指定命令將在圖像中運行默認命令。

再次運行容器之前,您應該停止並刪除舊的:

docker kill mymysql 
docker rm mymysql 

而且,以下你的榜樣,你應該運行:

docker run --name mymysql -e MYSQL_ROOT_PASSWORD=mypw -e MYSQL_DATABASE=bullshit -p 3306:3306 -d mysql 

當你手動設置從容器的端口映射端口3306連接到Boot2docker VM的同一端口,則應該可以使用Boot2docker實例的IP(通常爲192.168.59.103)訪問MySQL,並連接到端口3306.

相關問題