我有一台装有IP = 172.16.12.134
的Ubuntu计算机。在此Ubuntu计算机上,我正在运行MySQL映像的docker实例。 docker实例的IP地址类似于172.18.0.8
。
我可以使用mysql -h 172.18.0.8 -P 3306 -u root -p
之类的命令从ubuntu机器终端访问数据库。
是否可以从ubuntu机器(任何其他机器)外部访问数据库?
就像mysql -h 172.16.12.134 -P 3306 -u root -p
。
我在yml文件中将docker的端口导出为-port 3306:3306
。
答案 0 :(得分:1)
我在这里看不到问题。第一步是将MySQL服务公开到您的主机上,您已经使用-port 3306:3306
完成了此操作。
您已验证此功能正常运行,这意味着MySQL“似乎”正在172.16.12.134:3306运行。因此,唯一要做的就是允许防火墙中的端口3306上的连接。这样,人们可以使用您的Ubuntu计算机主机IP和相应的端口3306进行连接。