【问题标题】:Docker containers unable to comunicateDocker 容器无法通信
【发布时间】:2021-08-04 21:32:07
【问题描述】:

我有 2 个容器属于同一个网络:

version: '3'
services:
  #PHP Service
  app:
    build:
      context: ./website
      dockerfile: Dockerfile
    image: travellist
    container_name: app
    restart: unless-stopped
    depends_on:
      - db
    tty: true
    ...
    networks:
      - app-network

  administration:
    build:
      dockerfile: Dockerfile
    image: travellist
    container_name: administration
    restart: unless-stopped
    depends_on:
      - db
    tty: true
    environment:
      ....
    networks:
      - app-network

  #Nginx Service
  webserver:
    container_name: webserver
    image: nginx:1.17-alpine
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - 8000:80
      - 7999:81
    ...
    networks:
      - app-network

#Docker Networks
networks:
  app-network:
    driver: bridge

如您所见,这两个应用程序在 NGINX 上通过 2 个不同的端口运行......但是,我无法将请求从一个应用程序发送到另一个应用程序......以下非工作(来自管理,即是在81:7999 上工作的那个):

localhost:80
localhost:8000
app:80
app:8000

【问题讨论】:

    标签: docker networking docker-compose


    【解决方案1】:

    您应该从administration 容器将您的请求发送到端口80 上的webserver

    administration容器中,你可以先检查你是否可以pingwebserver,如果成功则意味着两者可以在网络上互相访问,因此,你可以执行你的请求.

    请注意,8000 端口只暴露给主机。

    【讨论】:

    • 我已经和http://host.docker.internal:8000一起工作了...如果有问题,我会试试你的解决方案,同时+1
    猜你喜欢
    • 2020-10-10
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多