Docker应用程序无法访问在另一个容器中运行的MySQL

问题描述:

我想调出Testlink(LAMP应用程序)的dockerized实例并将其连接到另一个容器中运行的MYSQL实例。Docker应用程序无法访问在另一个容器中运行的MySQL

$ sudo docker network create mynetwork 

实例化容器与MySQL

$ docker run -d --name mysql -p 3306:3306 --network mynetwork -v /Users/dockervol/mysql:/var/lib/mysql -e 'MYSQL_ROOT_NAME=root' -e 'MYSQL_ROOT_PASSWORD=password' mysql 

实例化容器TESTLINK

$ docker run -d -p 80:80 --network mynetwork --name testlink suzukishunsuke/testlink 

当我访问http://localhost/testlink,并按照它似乎工作的标准安装测试。这两个容器是链接的,但是当testlink试图登录到mysql时,它说拒绝访问。

Access denied for user 'root'@'156.18.0.2' (using password: YES) 
+1

嗯,这不是码头工人。你确定用户'root'@156.18.0.2'有权限吗?或者它是通过通配符覆盖的? –

+0

@NickBurke,它与docker有一些关系(它是设置root密码的docker入口点) – Robert

记住,当它开始了第一次mysql图像只设置你与环境变量提供密码(当它初始化它的数据目录)。

所以,如果你认为这是你的情况,清空你的mysql数据量(丢失数据),然后重新启动它,手动设置root的密码。