dockerinternal_2">1. 使用 host.docker.internal
(推荐)
-
适用场景:Docker Desktop(Windows 和 macOS)或 Docker Engine 18.03+(Linux)。
-
原理:Docker 提供了一个特殊的主机名
host.docker.internal
,指向宿主机。 -
使用方法:
-
注意:
2. 使用 --network="host"
-
适用场景:Linux 环境。
-
使用方法:
-
注意:
- 此方法仅适用于 Linux,Windows 和 macOS 不支持。
- 容器与宿主机共享网络,可能会导致端口冲突。
3. 使用宿主机的 IP 地址
-
适用场景:所有操作系统。
-
原理:通过宿主机的实际 IP 地址访问服务。
-
使用方法:
- 获取宿主机的 IP 地址:
- Linux/macOS:
ifconfig # 查找网络接口的 IP 地址
- Windows:
ipconfig # 查找网络接口的 IP 地址
- Linux/macOS:
- 在容器中访问宿主机服务时,使用宿主机的 IP 地址:
http://<宿主机IP>:8080
- 获取宿主机的 IP 地址:
-
注意:
- 如果宿主机 IP 是动态分配的(如 DHCP),可能需要固定 IP。
- 确保宿主机的防火墙允许容器访问。
4. 使用 Docker 自定义网络
5. 使用 --add-host
手动映射宿主机 IP
- 适用场景:需要手动指定宿主机 IP 的场景。
- 原理:通过
--add-host
参数将宿主机 IP 映射到自定义主机名。 - 使用方法:
6. 使用 Docker Compose
- 适用场景:使用 Docker Compose 管理多容器服务。
- 使用方法: