从 docker 容器访问 localhost

8 java docker

我有一个任务要在 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

Han*_*ian 17

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