Docker的mysql主机没有特权

我正在尝试configuration一个nodejs容器来连接到一个mysql数据库。

我的代码如下所示:

var pool = mysql.createPool({ host : 'mysql', port : '3306', user : 'root', password : '...', database : 'general', connectionLimit : 50, queueLimit : 5000 }); 

我正在使用标准的mysql容器。

我用无花果来启动容器。 fig.yml看起来像这样:

 node: build: node ports: - "9000:9000" - "9001:9001" links: - mysql:mysql command: node server/Main.js mysql: image: mysql volumes: - /data/test:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ... 

每次我尝试连接,我得到以下错误:

 failed to connect to database: Error: ER_HOST_NOT_PRIVILEGED: Host '172.17.0.142' is not allowed to connect to this MySQL server 

任何想法我做错了什么? 我已经玩弄了wordpress,似乎连接到相同的MySQL数据库没有任何问题。

谢谢!

编辑所以,我最终find了答案。 这个问题确实是一个特权问题。 我运行了以下命令:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' 

我能够访问数据库。

我使用drakedroid / mysql-with-data( https://registry.hub.docker.com/u/drakedroid/mysql-with-data/ )图片。 它扩展了默认的图像,但增加了更多的function。