无法在本地连接到 dockerized mysql 容器
unable to connect to dockerized mysql container locally
我仍然是 docker 的初学者,尝试使用 docker 来帮助我制作开发原型。我的环境是Mac使用boot2docker,版本如下
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
请指点一下如何解决这个问题,我已经完成了教程,但我不确定哪里出了问题。
您使用的命令应该会出错。 docker 运行 的语法如下:
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
在指定使用的图像(在您的情况下为 mysql)之前,您必须将选项提交给 docker run
,如果是这种情况,请提交命令和该命令的可能参数.
不指定命令将 运行 图像中的默认命令。
在再次 运行 重新安装容器之前,您应该停止并移除旧容器:
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 访问 MySQL ] 实例,通常为 192.168.59.103,并连接到端口 3306。
我仍然是 docker 的初学者,尝试使用 docker 来帮助我制作开发原型。我的环境是Mac使用boot2docker,版本如下
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
请指点一下如何解决这个问题,我已经完成了教程,但我不确定哪里出了问题。
您使用的命令应该会出错。 docker 运行 的语法如下:
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
在指定使用的图像(在您的情况下为 mysql)之前,您必须将选项提交给 docker run
,如果是这种情况,请提交命令和该命令的可能参数.
不指定命令将 运行 图像中的默认命令。
在再次 运行 重新安装容器之前,您应该停止并移除旧容器:
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 访问 MySQL ] 实例,通常为 192.168.59.103,并连接到端口 3306。