繁体   English   中英

从 docker 容器访问 localhost

[英]Access localhost from docker container

我有一个任务要在 localhost:8081、localhost:8082 和 localhost:8083 上设置 3 个 docker 容器,我已经成功完成了。然后有一个最后一个容器是 localhost:8080 上的 Java 应用程序,它需要发送请求将 HttpClient 和 HttpRequest 用于其他容器,我已经完成了此操作,使用“docker network create web_server --driver brigde”创建了一个桥接器,并使用 --network web_server 运行容器,这样它们就可以使用容器名称进行通信并且它可以工作. 但是我的老师告诉我将请求发送到 http://localhost:8081、8082 等。有没有办法让容器访问 localhost? 我在 linux 上使用 docker

在 Linux 容器上,您可以使用 IP 地址172.17.0.1访问主机。 因此,从您的 Java 应用程序内部,您应该能够访问172.17.0.1:8081172.17.0.1:8082172.17.0.1:8083上的其他容器。 这相当于在localhost:8081上使用localhost:8081localhost:8082localhost:8083

--network="host" docker run命令上添加--network="host" ,然后--network="host"容器中的 127.0.0.1 将指向您的 docker 主机。 (仅适用于 linux 或 windows 容器上的 docker)

对于 docker for mac 或host.docker.internal for windows 只需使用主机host.docker.internal而不是127.0.0.1连接服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM