为什么容器不能请求另一个?
Why container can't request to another?
我无法将 http 查询从容器发送到另一个容器
我已经尝试创建网络,但没有帮助
version: '2'
services:
backend:
container_name: backend
image: registry.gitlab.com/myproject/backend:latest
restart: always
ports:
- 10083:3000
networks:
- dpnet
widget-ws:
container_name: widget-ws
image: registry.gitlab.com/myproject/widget-ws:latest
restart: always
ports:
- 10084:3001
networks:
- dpnet
networks:
dpnet:
driver: bridge
我用container_name而不是url
http://widget-ws:10084
但有错误
connect ECONNREFUSED 172.21.0.2:10084
使用url:http://widget-ws:3001
容器在内部端口而不是映射到主机的端口上相互通信。
不需要创建网络。
您似乎将内部 IP 与您为主机打开的端口混合在一起。将 http://widget-ws:10084
替换为 http://widget-ws:3001
,您的连接应该可以正常工作。
容器使用的网络类型,无论是网桥、覆盖网络、macvlan 网络还是自定义网络插件,在容器内部都是透明的。所以使用容器端口而不是使用外部绑定端口。
http://widget-ws:3001
我无法将 http 查询从容器发送到另一个容器
我已经尝试创建网络,但没有帮助
version: '2'
services:
backend:
container_name: backend
image: registry.gitlab.com/myproject/backend:latest
restart: always
ports:
- 10083:3000
networks:
- dpnet
widget-ws:
container_name: widget-ws
image: registry.gitlab.com/myproject/widget-ws:latest
restart: always
ports:
- 10084:3001
networks:
- dpnet
networks:
dpnet:
driver: bridge
我用container_name而不是url
http://widget-ws:10084
但有错误
connect ECONNREFUSED 172.21.0.2:10084
使用url:http://widget-ws:3001
容器在内部端口而不是映射到主机的端口上相互通信。
不需要创建网络。
您似乎将内部 IP 与您为主机打开的端口混合在一起。将 http://widget-ws:10084
替换为 http://widget-ws:3001
,您的连接应该可以正常工作。
容器使用的网络类型,无论是网桥、覆盖网络、macvlan 网络还是自定义网络插件,在容器内部都是透明的。所以使用容器端口而不是使用外部绑定端口。
http://widget-ws:3001