Docker:授予访问链接的MySQL容器

所以我有一个mysql客户端容器和一个mysql数据库容器,仅用于testing目的。 我已经使用docker运行链接2个容器 – 链接。

现在我想在数据库中创build一个用户并授予它select,创build,更新等权限,以便它可以连接到数据库并执行查询等。

所以,客户端容器上的/ etc / hosts文件现在有一个服务器的入口,这很好,但现在我的问题是:

由于当我重新运行容器时,容器的IP地址可能会发生变化,我如何授予用户从客户端访问服务器的权限,因为客户端将被视为远程?

mysql客户端的例子:

mysql> grant select, update on db.* to 'test'@'???????' identified by 'testpw' 

当然,我不能使用'localhost'而不是'???????' 上面,但我也不能硬编码的客户端容器的IP地址,因为这可以改变我下次运行它?

我想我很想理解链接docker工作在这种情况下如何工作:)

您可以使用通配符%来允许任何远程ip:

 GRANT SELECT, UPDATE ON *.* TO 'test'@'%' IDENTIFIED BY 'password';