这对我有效,希望对你也有用。
目前,在Windows上运行Docker,必须安装WSL或WSL2并启用虚拟化。
从PowerShell安装WSL的命令如下command。
wsl --install -d Ubuntu
显然,您需要在Windows上下载并安装Docker Desktop。安装后,需要从Docker桌面设置中启用WSL集成。
![enter image description here](https://istack.dev59.com/iLnwL.webp)
在配置好WSL和Docker桌面版之后,您可以创建/使用容器。例如:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
最后,您必须确定WSL的IP,您必须打开第一步安装的Linux发行版,在我们的情况下是Ubuntu,这将打开您的终端,然后我们将执行以下操作:
ifconfig
你将会识别出 eth0 的 IP。例如:172.27.123.123
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.27.123.123 netmask 255.255.240.0 broadcast 172.27.127.255
inet6 fe80::215:5dff:fecf:b4 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:cf:00:b4 txqueuelen 1000 (Ethernet)
RX packets 4389 bytes 299784 (299.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4343 bytes 315643 (315.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
现在你可以在Windows的CMD中ping这个IP地址。
注意:连接将取决于容器的端口,例如:172.27.123.123:8080。