如何从主机连接到在容器中运行的mysql

我正在使用https://github.com/sameersbn/docker-mysql在OSX上用virtualbox运行一个使用docker-machine的mysql容器。

我创造了一台新机器

 docker-machine create --driver virtualbox mytest 

IP是

 docker-machine ip mytest 192.168.99.103 

我运行这样的容器:

 docker run -p 3306:3306 --name mysql -d \ -v /opt/mysql/data:/var/lib/mysql \ -e 'DB_USER=sampleuser' -e 'DB_PASS=samplepass' -e 'DB_NAME=sampledb' -e 'DB_REMOTE_ROOT_NAME=root' -e 'DB_REMOTE_ROOT_PASS=samplerootpass' \ sameersbn/mysql:latest 

现在,当我尝试从hostmachine连接到容器中的mysql时,我可以使用用户sampleuser进行连接,但不能以root用户sampleuser进行连接。

 ▶ mysql -u root -p -h 192.168.99.103 Enter password: ERROR 1045 (28000): Access denied for user 'root'@'192.168.99.1' (using password: YES) 

192.168.99.1是我本地的笔记本ip地址

 ▶ ifconfig | grep "192" inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255 

默认情况下,root只能访问本地主机127.0.0.1&:: 1,您需要特别允许从192.168.99.1或从用户设置中的任何地方使用'%'进行访问:请参阅http://dev.mysql .COM / DOC / refman / 5.5 / EN /默认privileges.html