从Docker .net核心连接本地主机Mysql

我在Docker中的.net核心中使用WebAPI。 我想在AWS EC2实例上部署此API,并使用本地mysql数据库与其他Web应用程序一起工作。

如何从Docker内部到达这个Mysql?

本地我可以通过使用我的私人IP地址

=> optionsBuilder.UseMySql(@"Server=$my_local_ip;database=db_name;uid=user;pwd=pass;"); 

$my_local_ip确定我应该使用哪个$my_local_ip连接到数据库?

但是在EC2上使用私有IP的时候,在发送无法连接到任何MYSQL主机的请求时出现错误。

对于MySQL服务器,通常必须指定要连接的端口,因为同一台服务器上的每个实例都使用不同的端口。

在启动Web API容器时使用--network=host标志,并使用连接string中的localhost作为主机名。 这将使Docker容器能够访问主机networking。 因此你可以从容器中访问MySQL数据库。

注意:这对于运行集装箱化的工作负载是不安全的。 点击这里了解更多