首页 > 解决方案 > 使用 host.docker.internal 从 docker 连接到本地计算机(主机)中的 SQL Server

问题描述

我正在尝试使用host.docker.internal(如https://docs.docker.com/docker-for-windows/networking/#use-cases-and-workarounds中的建议)连接到在本地计算机上运行的 SQL Server 实例

host.docker.internal成功解析为 IP,并且可以 ping 通

我已经在我的防火墙配置中打开了端口1433

错误信息

连接被拒绝 192.168.65.2:1433

我的连接字符串

Data Source=host.docker.internal,1433;Initial Catalog=;Persist Security Info=False;User ID=;Password=;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

码头工人版本

Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Thu Apr 26 07:12:48 2018
 OS/Arch:      windows/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:22:38 2018
  OS/Arch:      linux/amd64
  Experimental: true

Docker for windows 版本

用于 Windows 的 Docker

标签: sql-serverdockerdocker-networkingdocker-for-windows

解决方案


如果有人有类似的问题,这就是我的解决方法

  • 打开 SQL Server 配置管理器
  • 在服务器网络配置中启用 TCP/IP
  • 重启 SQL Service 服务

TCP/IP

如果它仍然不起作用,还有一些事情需要检查

  1. 防火墙(开放端口 1433)
  2. 启用到您的 sql server 的远程连接

在此处输入图像描述


推荐阅读