从外部IP(Docker容器)访问MySql数据库

从外部IP(Docker容器)访问MySql数据库,mysql,database,bash,docker,phpmyadmin,Mysql,Database,Bash,Docker,Phpmyadmin,使用Docker容器,我试图从其他容器访问MySQL Docker容器() 为此,我一直在使用PhpMyAdmin docker容器(),这是查看mysql数据库最简单的方法 拒绝访问 然而。。。我的phpmyadmin容器无法连接到mysql容器,出现以下错误: #1045-拒绝用户'root'@'172.17.0.7'的访问(使用密码: 是的) 这是我用于mysql容器的配置: docker run--name mysql001-v/path/to/volumes/mysql001:/var

使用Docker容器,我试图从其他容器访问MySQL Docker容器()

为此,我一直在使用PhpMyAdmin docker容器(),这是查看mysql数据库最简单的方法

拒绝访问 然而。。。我的phpmyadmin容器无法连接到mysql容器,出现以下错误:

#1045-拒绝用户'root'@'172.17.0.7'的访问(使用密码: 是的)

这是我用于mysql容器的配置: docker run--name mysql001-v/path/to/volumes/mysql001:/var/lib/mysql-e mysql\u ROOT\u PASSWORD=1234-p 33067:3306-d mysql/mysql服务器:最新--字符集服务器=utf8--排序服务器=utf8\u常规\u ci

phpmyadmin配置为:

docker run——名称phpmyadmin1-d——链接mysql001:db-p3949:80 phpmyadmin/phpmyadmin——env MYSQL\u ROOT\u PASSWORD=1234

失败的尝试 我曾尝试使用
docker exec-I mysql001 bash以bash模式登录,并从这里运行mysql命令,但每次尝试执行
mysql-u root-p
时,我都会被拒绝“拒绝用户'root'@'localhost'的访问”


我遗漏了什么?

问题似乎在于主机名,因此在尝试进入mysql时--hostname标志。如果没有指定主机名,mysql命令将假定主机名为localhost。我猜在开始启动容器时,主机名还需要传递另一个参数。但这并不是一个真正的bash查询。我认为这个问题的一部分可能是默认的安全选项,它只限制对本地主机的访问,但是我还没有找到更改它的位置。。。但是,即使使用bash(因此从技术上讲,我应该被认为是从localhost查询)并使用提供的密码,我也无法登录它,这一事实很奇怪。