首页 > 解决方案 > 安装 docker 后无法从 Windows 访问 wsl Web 应用程序

问题描述

在我安装 docker 并重新启动之前,我通过 WSL 从 Windows 访问在 Ubuntu 中运行的应用程序没有任何问题。

我检查了我的主机配置文件,它看起来像下面这样:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#       127.0.0.1       localhost
#       ::1             localhost
# Added by Docker Desktop
192.168.1.244 host.docker.internal
192.168.1.244 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section

我注释掉倒数第二行

# 127.0.0.1 kubernetes.docker.internal

并使用刷新我的 dns

ipconfig /flushdns

但是,如果我尝试访问在 wsl 的端口 3001 上运行的节点应用程序,我的浏览器仍会显示“无法访问此页面消息”

这不是节点或我的应用程序的问题,因为我能够从 ubuntu 终端成功地卷曲我的应用程序

标签: windowsdockerip-addresswindows-subsystem-for-linuxwsl-2

解决方案


我只需将 wsl 的 IP 地址添加到 docker 声明上方的 hosts 文件中即可解决此问题:

<ip address of wsl> localhost

推荐阅读