【问题标题】:Why container can't request to another?为什么容器不能向另一个请求?
【发布时间】:2019-04-04 19:04:55
【问题描述】:

我无法将 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

【问题讨论】:

    标签: docker docker-compose docker-networking


    【解决方案1】:

    使用网址:http://widget-ws:3001

    容器在内部端口而不是映射到主机的端口上相互通信。

    不需要创建网络。

    【讨论】:

      【解决方案2】:

      您似乎将内部 IP 与您向主机打开的端口混合在一起。将http://widget-ws:10084 替换为http://widget-ws:3001,您的连接应该可以正常工作。

      【讨论】:

      • 但是我可以在不创建网络的情况下使用外部端口吗?
      【解决方案3】:

      容器使用的网络类型,无论是网桥、覆盖、macvlan 网络还是自定义网络插件,在容器内都是透明的。所以使用容器端口而不是使用外部绑定端口。

      http://widget-ws:3001
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-16
        • 1970-01-01
        相关资源
        最近更新 更多