我正在本地主机上的docker内部运行这两个程序。
当我从一个容器向另一个容器发送请求时,出现连接被拒绝错误。
一个运行在8000端口上,另一个运行在8001上。
我使用命令docker run -p 8000:8000 service1
运行图像,反之亦然。
我正在尝试连接从8001开始在8000上运行的服务。
我收到如下错误:
connect ECONNREFUSED 0.0.0.0:8000
答案 0 :(得分:0)
您需要以网络模式将Docker-Compose用作主机
network_mode: "host"
检查样本Docker-compose文件:-
version: '2.1'
services:
#Governing microservices
api-gateway:
build: zuul-apigateway/
depends_on:
eureka-server:
condition: service_healthy
restart: always
network_mode: "host"
image: demo-zuul-service
hostname: localhost
ports:
- 9085:9085
healthcheck:
test: "exit 0"
eureka-server:
build: eureka-server/
restart: always
network_mode: "host"
image: demo-eureka-service
hostname: localhost
ports:
- 9083:9083
healthcheck:
test: "exit 0"
现在这两个容器都可以相互通信,就像主机网络
引用:-
https://github.com/thoopalliamar/Juggler/blob/master/docker-compose.yml
这是13个微服务应用程序,可以相互通信。