1

我有一台运行 Windows 10 和 WSL2 的主机 (192.168.1.5) (winver 2004 OS build 19041.329)。

我已将 Docker 脚本移至 WSL2(在 Linux vm 上运行良好),并且运行良好。我只是无法从主机或本地网络上的任何东西访问 mssql。

这是我的创建脚本

sudo docker run -d \
-p 7000:1433 \
-e SA_PASSWORD=<hidden> \
-e ACCEPT_EULA=Y \
-e MSSQL_PID=Developer \
-v /home/docker/mssql/backup:/data \
-v /home/docker/mssql:/var/opt/mssql \
-e attach_dbs="[{'dbName':'THEDB','dbFiles':['/data/thedb.mdf','/data/thedb_log. ldf']}]" \
--name sql microsoft/mssql-server-linux:latest \

它可以工作,我可以连接到它并从图像中查询等。

我尝试了各种 --network 选项,例如主机和网桥。我不确定这是 docker 问题还是 WSL2 问题,尽管我已经很好地完成了 WSL2 sudo apt update。我认为它使用 nat 来访问互联网。它无法ping通网络上的任何机器。(来自 WSL2)

如何配置公共 IP (ipv4) 以便可以远程访问 mssql 数据库。

4

1 回答 1

0

事实证明我没有做错任何事。访问基于 WSL2 的 docker 映像的方法是使用主机 IP 地址和端口(在我的情况下,我已将端口更改为 7000)。

在我发布我的问题几周后,对 WSL2 和/或 Docker 的更新似乎解决了我的网络问题,所以我只能假设遇到了一个临时错误。这个问题在我遇到网络问题的两台机器上自行解决。

于 2021-02-01T03:39:34.480 回答