如题所示,我安装的是Docker Desktop,前一天还能正常访问的端口,今天突然无法访问了,然后我就怀疑是端口映射有问题,因为之前遇到过关于端口映射的问题,因为Docker Desktop运行docker的逻辑是在windows10中安装一个linux系统,然后在linux系统中运营docker,之前就出现过端口映射无效的问题,具体策略就是端口映射的时候,映射的端口前要加0.0.0.0,具体指令如下:

1
2
3
docker run -d -p 0.0.0.0:1880:1880 --name mynodered nodered/node-red

#宿主机和虚拟机之前的网络互通问题,Docker Desktop在安装的时候应该已经处理好了,不需要在自己配置,如果是自己安装虚拟机,可能需要自己去设置一下(相关文章网上很多)

这样运行的话,通常就可以正常访问。然后我用docker ps -a去查了一下,端口映射是正常的,那说明问题不是端口映射导致的。然后经过测试发现是因为防火墙的问题,导致端口无法正常访问。

具体设置的方法和步骤如下:

  1. 找到docker相关应用

    • 打开任务管理器-
    • 在 后台任务 中找到了Docker Desktop Backedn(或docker相关的后台应用)
    • 右键点击Docker Desktop Backedn
    • 打开文件所在的位置
    • 获取应用位置

    我的文件地址: C:\Program Files\Docker\Docker\resources

  2. 将应用添加到 允许应用通过防火墙

    • 点开左下角开始菜单,搜索Windows Defender 防火墙打开
    • 点击允许应用或功能通过Windows Defender 防火墙
    • 点击更改设置
    • 点击允许其他应用
    • 点击浏览
    • 复制查询到的文件地址到地址栏
    • 然后将里面的.exe文件逐个添加(我是都加进去了,我也不知道具体加哪个,反正都加进去就能用。。)

    如果提示 ‘xxx.exe已经在例外列表中。’ 就表明这个文件已经添加完了,去添加别的文件就可以了

  3. 重启电脑

按照这个步骤就可以成功访问docker映射的端口了。