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 是一个特殊的DNS名称,用于Docker容器内部访问宿主机的地址。当容器运行时,它可以使用此名称直接连接到宿主机上运行的服务,而无需知道宿主机的IP地址。在 container 内,可以直接请求hos