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

我试图调出Testlink(LAMP应用程序)的dockerized实例,并将其连接到在另一个容器中运行的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并按照标准安装testing,似乎工作。 这两个容器链接,但是当testlink试图login到MySQL它说拒绝访问。

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

请记住, mysql映像仅在第一次启动时(初始化其数据目录时)设置使用该环境variables提供的密码。

因此, 如果您认为这是您的情况 ,请清空mysql数据卷(丢失数据)并重新启动它, 或者手动设置root密码。