首页 > 解决方案 > .Net core 3.1 webapi dockerized,连接数据库MySql时出错(没有dockerized)

问题描述

我有一个本地项目,就是一个连接MySql(本地服务器)的webapi(.net core 3.1),很好。我想要实现的是做一个我的 webapi 的图像(然后传递给生产),我可以做这个图像。但是当我运行图像并通过浏览器导航时,出现以下错误:

Microsoft.EntityFrameworkCore.Database.Connection[2004] 使用连接到服务器“localhost”上的数据库“nameOfTable”时发生错误

我没有 dockerize mysql 服务器,它像往常一样在本地运行。我没有更改用户或密码...所以我不明白为什么会出现此错误。

在此先感谢您的帮助!

标签: mysql.netdocker

解决方案


当您使用 Web API 映像运行容器时,该容器有自己的网络和 IP 地址。如果您的 MySQL 实例在您的本地计算机上运行,​​而不是在 docker-engine 上运行,则您必须以某种方式将本地计算机连接到您的 docker 容器,这是不建议的。取而代之的是,您可以运行一个使用本地 MySQL 数据的 MySQL 容器(您可以使用 -v/volumes 将本地文件夹挂载到容器中)。


推荐阅读