【发布时间】:2021-02-14 07:27:28
【问题描述】:
我有一个非常简单的“hello world”类型的 Asp.net Core API 应用程序(包括 swagger),我在其中单击一个 API 控制器,它从数据库中获取数据并以 JSON 形式返回。我已经通过调试器测试了在我的系统上的工作,进入 docker 一切都很好。
我创建了一个 docker 文件(不是 docker compose)并构建了映像,最后运行了 docker 容器并检查了该应用程序确实可以访问。但是,从数据库中获取数据的 API 控制器,该端点失败了。 我已经尝试了所有可能的选项,例如
- https://medium.com/@vedkoditkar/connect-to-local-ms-sql-server-from-docker-container-9d2b3d33e5e9
- How do I connect the local SQL Server database for the ASP.NET Core application running inside either local Docker or Kubernetes?
我有最新的 docker 版本(20.10.2,build 2291f61),它支持 host.docker.internal,但也不起作用。
我在禁用防火墙后尝试过,使用了端口 1433 的 IP 地址,使用了 host.docker.internal 和任何地方它连接到数据库时出现相同的错误。 好吧,我尝试使用相同的 IP 地址并通过 SQL Management Studio 进行本地连接,并确认我在用户名、密码或 SQL 服务器和数据库方面的拼写错误。
我有一个 asp.net 核心 API 应用程序,其中连接字符串存储在 appsettings.json 下。
【问题讨论】:
-
请分享 Dockerfile。
标签: docker-container docker-cli