windows - 安装 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 终端成功地卷曲我的应用程序
解决方案
我只需将 wsl 的 IP 地址添加到 docker 声明上方的 hosts 文件中即可解决此问题:
<ip address of wsl> localhost
推荐阅读
- batch-file - If else循环崩溃批处理文件
- python - 在同一页面中返回表单值
- javascript - 对象数组中嵌套对象的 Lodash 映射值
- python - /admin/auth/user/add/save() 的 TypeError 得到了一个意外的关键字参数“force_insert”
- flutter - TextFormField 上的 maxLength 属性仅适用于数字
- amazon-web-services - DynamoDB ThrottlingException 问题
- javascript - 转到页面然后运行该功能的锚标记
- ios - 如何正确实现 Amplify to Flutter
- kotlin - 传递给可变参数时,Kotlin 可以过滤掉空参数吗?
- javascript - React Native Navigation:有条件地渲染标签栏徽章不起作用?