是否有某种方法可以使用关键字 localhost 而不是 127.0.0.1:port 来连接到在 WSL 2 中运行的容器?
为了提供更多背景信息,我有一个 Docker Compose 来运行 Microsoft SQL Server 实例,配置如下:
services:
sql-server:
image: mcr.microsoft.com/mssql/server:2022-latest
user: root
ports:
- "1433:1433"
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "redacted"
volumes:
- sql-server-volume:/var/opt/mssql/data
volumes:
sql-server-volume:
它非常简单,并且运行良好,只是我需要通过 127.0.0.1 而不是 localhost 进行连接。对于应用程序、Microsoft SQL Server Management Studio 和其他应用程序来说,情况都是如此。
有没有办法使用 localhost 而不是 127.0.0.1 来访问在 WSL 内部运行的容器?
答案1
您应该能够使用“localhost”进行连接,或者甚至只需一个点“。”,因为端口 1433 正在本地映射到您的主机,并且端口 1433 是 SQL Server 的默认端口。您收到任何类型的错误了吗?
答案2
我刚刚找到了一个解决方案!
我必须禁用 WSL 网络适配器上的 IPV6。这解决了我的路由问题。