Docker Desktop 不支持 host 网络模式

先把这个结论的放在前面,直接访问链接就能看到官方文档中已经明确说了不支持。
参考链接:docker desktop for windows 不支持 host 网络模式

在这里插入图片描述


以前对于 docker 的网络模式,一直只是了解,没有亲自尝试过。结果今天在尝试 docker 的 host 网络模式时,发现无论如何都无法通过 localhost127.0.0.1 访问宿主机的服务,只有通过本机的 IP 访问。我尝试询问 AI 来解决,但是它说的我也知道,不过我的问题是无法访问。

在这里插入图片描述

之后我又尝试问了我遇到的问题,但是它的回答也是没有用(这是我的问题,AI 虽然很有用,但是我自身的知识边界太小了,反而无法正确的描述清楚问题,自然也得不到想要的答案了)。

在这里插入图片描述

然后我就还是回归到搜索引擎,然后才发现原来 docker desktop for windows 是不支持 host 模式的,怪不得我无法使用 localhost 访问宿主机的服务!

所以,当你知道了这个之后,再去 AI 中提问,它的回答就很清楚了。所以其实这也是一个问题,很多人觉得 AI 没有什么用,但是其实原因可能是他们自身知道的太少了,无法利用 AI 的能力。

在这里插入图片描述

在这里插入图片描述

我知道的越多,我不知道的就越多。

现在加上了 AI,我觉得它反而加剧了这种效应,知道越多的人,通过利用 AI,他的知识边界可以扩展的更大!而知道更少的人,却无法很好的运用 AI,甚至他都不会去使用 AI。

PS: 在 Windows 和 Linux 中简单测试 Host 网络模式

在 Windows 本地访问测试:

在这里插入图片描述

在 Windows 中,容器使用 host 模式访问,只有本机 IP 可以访问成功。

在这里插入图片描述

在 Linux 中,host 模式工作正常。

在这里插入图片描述

### 配置或访问主机在Docker Desktop中的方法 #### 使用端口映射实现容器与宿主机通信 当创建和运行容器时,可以利用`-p`选项来指定端口映射关系。例如,在启动Redis服务的过程中通过命令 `docker run -d --name redis -p 6379:6379 ...` 将容器内部的6379端口暴露给本地机器上的相同端口号[^2]。 #### 修改默认网桥网络设置 为了使容器能够更好地连接到外部世界或者特定子网内的其他设备,默认情况下Docker会自动分配IP地址范围给每一个新建立起来的bridge network。如果希望自定义这些参数,则可以在Docker守护进程配置文件中调整相应部分;对于Windows环境而言通常是位于`C:\ProgramData\Docker\config\daemon.json`的位置[^1]。 #### 设置DNS服务器以便解析域名请求 有时应用程序依赖于准确可靠的名称解析机制才能正常运作。为此目的,可以通过编辑上述提到过的`daemon.json`加入如下字段:"dns": ["8.8.8.8", "8.8.4.4"] 来强制所有由该节点管理下的容器都采用Google提供的公共DNS服务来进行查询操作。 #### 利用共享驱动器功能简化路径映射过程 针对Windows操作系统用户来说,若需频繁地将本地磁盘目录挂载至Linux容器内作为数据卷使用,那么开启资源管理界面里的“共享驱动器”开关将会极大地提高工作效率。只需勾选想要分享出来的分区即可完成初步设定工作。 ```powershell # PowerShell脚本用于验证是否成功安装并启用了Docker Desktop以及查看当前版本信息 Get-Object { $_.Name -eq 'Docker Desktop' } docker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值