域在主机上解析但不在docker容器内解析

时间:2016-08-25 01:24:40

标签: node.js selenium docker protractor docker-compose

我有两个容器,一个运行Node.js进程启动量角器,另一个运行独立的Selenium容器。该文件如下所示:

version: '2'

services:
  www.example.localhost:
    build: .
    depends_on:
      - selenium
    dns_search:
      - static.example.localhost
    extra_hosts:
      - "static.example.localhost:127.0.0.1"
    ports:
      - "3000:3000"
      - "4000:4000"
    volumes:
      - ./src:/code/src
      - ./api:/code/api
    entrypoint: "npm run"
    command: "test:e2e"

  selenium:
    dns_search:
      - selenium.example.localhost
    image: selenium/standalone-chrome-debug:2.52.0
    environment:
      no_proxy: localhost
    volumes:
      - /dev/urandom:/dev/random
    ports:
      - "4444:4444"
      - "6900:5900"

www.example.localhost运行量角器,后者又使用protractor.config.js中的这些行连接到selenium容器:

seleniumAddress: "http://selenium:4444/wd/hub",
directConnect: false,

当我在selenium容器上运行VNC时,打开容器内的chrome浏览器并输入www.example.localhost:3000它无法解析域。但是当我运行wget www.example.localhost:3000时,它会获得index.html文件。知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

在Google Chrome中,无论您拥有什么DNS设置,任何以localhost结尾的域都会解析为127.0.0.1。将域名从.localhost更改为.dev会修复此问题。