如何使用 localhost 关键字连接到 WSL Docker 容器

如何使用 localhost 关键字连接到 WSL Docker 容器

是否有某种方法可以使用关键字 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。这解决了我的路由问题。

相关内容