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)
答
记住,当它开始了第一次mysql
图像只设置你与环境变量提供密码(当它初始化它的数据目录)。
所以,如果你认为这是你的情况,清空你的mysql数据量(丢失数据),然后重新启动它,或手动设置root的密码。
嗯,这不是码头工人。你确定用户'root'@156.18.0.2'有权限吗?或者它是通过通配符覆盖的? –
@NickBurke,它与docker有一些关系(它是设置root密码的docker入口点) – Robert