使用量角器访问不同 docker 容器中的另一个 docker 容器

Accessing another docker container within different docker container using protractor

我的docker-compose.yml文件

version: "3"

services:
  mydb:
    image: localhost:5000/mydb
    restart: always
    environment:
      POSTGRES_PASSWORD: mypassword
      TZ: "Australia/Perth"
    volumes:
      - ./postgres:/var/lib/postgresql/data


  myweb:
    depends_on:
      - mydb
    image: localhost:5000/myweb
    restart: always
    ports:
      - "80:8080"
    environment:
      TZ: "Australia/Perth"
    volumes:
      - ./web/logs/:/misc/docker/webapps/ROOT/WEB-INF/apps/logs/

  protractor:
    image: localhost:5000/protractor
    depends_on:
      - myweb
    environment: 
      QA_HOST: myweb
    volumes: 
      - /home/akila/Projects/Project/e2e:/protractor

以上是我的 docker-compose 文件。

我有 3 个容器 mydb,myweb,protractor.

我正在尝试从 protractor

访问 myweb

我这样访问我的 baseUrl --> baseUrl: "http://"+process.env.QA_HOST+":80/",

我正在使用 docker-compose up 命令。

我的 protractor 容器似乎无法加载 myweb

我用控制台日志打印了 url 和页面源代码。

这是我在控制台日志中看到的内容。

--------------------------url is-------------http://myweb:80/editor/index.jsp
<html><head></head><body></body></html>

如你所见html returns 什么都没有。

但 url 似乎是正确的。因为它显示 http://myweb:80/editor/index.jsp

但我可以使用 http://localhost:80/editor/index.jsp

从我的浏览器清楚地访问该网站

我在量角器测试中使用 google chrome 无头模式。 如何从我的 protractor 容器 加载 myweb 容器 中的端口 80?

容器之间的连接忽略任何 ports:。看起来 "myweb" 容器内的进程正在侦听端口 8080;连接 URL 需要看起来像 http://myweb:8080/....