docker容器中的mariadb grant table:hostname和ip

问题描述 投票:0回答:1

我在docker容器中运行mariadb实例。它连接到自定义桥接网络。我们在这里称之为db_net。现在我想从连接到同一网络的另一个容器连接到mariadb

我可以用mariadb从另一个容器中ping出ping mariadb.db_net容器。它解决了一些172.x.x.x IP。

使用数字IP在mariadb中设置授权表有效。但显然这些可能会在修改后的设置中发生变化我也想避免使用所有通配符(例如172.%.%.%),因为其他容器也可能使用相同的mariadb实例。

在授权表中使用符号主机名(name.db_net)失败。

推荐的解决方法是什么?使用主机字段中的所有通配符并依赖其他隔离机制当然可以工作,但似乎这样做我放弃了一层可取的安全性。

docker ip mariadb hostname grant
1个回答
0
投票

有时嵌入式DNS无法正常使用Linux服务。最好的方法是DNS将主机名解析为IP地址。它可以通过修改/ etc / hosts文件或使用第三方DNS服务器来实现。这将确保每当IP地址更改时,数据库权限仍然可以正常工作。

如果您选择在docker网络中设置DNS服务器,则必须使用该选项启动每个容器。

--dns=IP_ADDRESS

然后,提供的地址将写入docker容器上的文件/etc/resolv.conf

© www.soinside.com 2019 - 2024. All rights reserved.