gpt4 book ai didi

windows - 如何在 MSSQL Server 连接字符串中从 docker 容器引用主机端口?

转载 作者:行者123 更新时间:2023-12-03 11:11:56 25 4
gpt4 key购买 nike

编排:

  • Windows 主机
  • 我的数据库在 localhost:1444 的容器中运行。
  • 我的 API 在 localhost:5000/5001 上的容器中运行。
  • 它们都在默认 ( bridge ) 网络上运行。
  • 我无法使用自定义网络,因为当前我们的应用程序引用了另一个不在容器中的 API

  • 起初我只是将连接字符串保留为 .,1444但意识到容器必须在自身外部查找 主持人 它需要的本地主机。

    到目前为止,我已经尝试过:
  • 127.0.0.1:1444
  • host.docker.internal:1444
  • 127.0.0.1,1444
  • host.docker.internal,1444
  • .,1444

  • 我不断收到此错误:
         Connection id "0HLV8EI9HSV9D", Request id "0HLV8EI9HSV9D:00000009": An unhandled exception was thrown by the application.
    System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)```


    最佳答案

    最常见的方法是添加 --network="host"在您的 docker run 命令中,您的 docker 容器中的 127.0.0.1 将指向您的 docker 主机。

    如果这不适合你 , this question包含一堆 hacky 方法来实现相同的目标。

    如:

  • 映射容器中的本地 IP 别名 (DNS)
  • 出于通信目的卷挂载某些文件
  • 为 docker0 接口(interface)启用 route_localnet

  • 我相信该链接将帮助您找到最适合您的解决方案。

    关于windows - 如何在 MSSQL Server 连接字符串中从 docker 容器引用主机端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61414268/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com