docker 网络简介
docker 在安装时会默认创建三个网络:bridge(默认网络模式)、 none 、host。
- host 直接和宿主机共用网络。
- bridge 网络隔离,通过虚拟网桥(一般是 docker0)与宿主机通信。
- none 禁用网络功能。
解决办法
使用 host模式(常用)
docker 运行容器时 默认桥接网络模式,如果使用 host 模式就可以访问,所以需要将 docker 的网络模式设置为 host 模式。
修改方式
- docker run 启动容器时加入–net=host
docker run -d --network=host my-container:latest - compose 文件中指定network_mode: “host”,便可以 host 模式运行容器
services:
my-service:
network_mode: host
使用host.docker.internal
host.docker.internal 是一个
本文介绍了如何让Docker容器访问宿主机服务,包括使用host模式、通过host.docker.internal以及利用docker0网络的IP。在host模式下,容器与宿主机共享网络;在mac和Windows上,容器可以通过host.docker.internal访问宿主机;而在Linux中,需手动添加宿主机IP到容器的/etc/hosts。此外,还可以通过docker0网络的默认网关IP访问宿主机服务,但需确保服务监听所有IP地址。
订阅专栏 解锁全文
1939

被折叠的 条评论
为什么被折叠?



