2016-03-18 136 views
11

聯我有從版本1升級到版本2容器不與搬運工-撰寫版本2

它設置窗口的簡單硒轂與一個Firefox節點的搬運工-撰寫的文件。

當我設置爲版本1時,它啓動罰款。當我使用版本2進行設置時,ff容器返回"Not linked with a running Hub container"並退出。

當我研究它並理解它時,容器之間的聯繫受到某種程度的影響。

有沒有解決方案?我錯過了什麼?

version: '2' 
services: 
    hub: 
    container_name: hub 
    image: selenium/hub 
    ports: 
     - "8080:4444" # HOST:CONTAINER 
    expose: 
     - "4444" 

    ff: 
    container_name: ff 
    image: selenium/node-firefox 
    links: 
     - hub 
    expose: 
     - "5555" 

回答

26

的環境變量添加到泊塢窗您ff部分撰寫的文件(你可以刪除的鏈接):

ff: 
    container_name: ff 
    image: selenium/node-firefox 
    environment: 
    - HUB_PORT_4444_TCP_ADDR=hub 
    expose: 
    - "5555" 

撰寫第2版使用網絡的不同風格。從upgrading guide:由links創建

環境變量已被棄用了一段時間 。在新的Docker網絡系統中,它們已被刪除。您應使用鏈接主機名直接連接到適當的主機名,或者自己設置相關環境變量。

networking documentation

links並不需要啓用服務進行通信 - 通過 默認情況下,任何服務都可以達到在該服務的名稱 任何其他服務。

Selenium dockerfile使用版本1風格的網絡通過EN​​V變量。在code的這裏,如果這個變量沒有被設置(Docker用來做)entry_point.sh命令退出。提供變量明確地解決了這個問題。

+0

感謝您的答覆JCotton。我必須承認,我已經閱讀過多次鏈接到的docker文檔。目前尚不清楚你解釋得很好的概念。我將問題追溯到您指出的路線,但無法爲此做出任何事情。它工作完美。再次感謝! –

+0

我還必須添加另一件事,我注意到從v1切換到v2撰寫文件時。注意網絡的變化,以便容器IP也改變。 v1中的內容可能是172.17.0.3,在v2中會變爲172.18.0.4。這讓我頭痛,直到我明白了。 –

+0

同樣在這裏。 Docker有很多方面,變化如此之快。聰明的人正在做出很好的改進,但如果你沒有全職工作,很難理解所有的事情。 (很高興幫助。考慮[upvoting](http:// meta。stackexchange.com/a/5235/142472)。^_ ^) – JCotton

0

下面組成的文件對我來說

# To execute this docker-compose yml file use docker-compose -f <file_name> up 
# Add the "-d" flag at the end for deattached execution 

version: '2' 
services: 
    firefoxnode: 
    image: selenium/node-firefox-debug 
    volumes: 
     - /dev/shm:/dev/shm 
    depends_on: 
     - hub 
    environment: 
     HUB_HOST: hub 
    ports: 
     - "32772:5900" 

    chromenode: 
    image: selenium/node-chrome-debug 
    volumes: 
     - /dev/shm:/dev/shm 
    depends_on: 
     - hub 
    environment: 
     HUB_HOST: hub 
    ports: 
     - "32773:5900" 

    hub: 
    image: selenium/hub 
    ports: 
     - "4444:4444" 

命令我使用的工作:

docker-compose -f .\docker-compose.yml up -d 

來源:

https://github.com/SeleniumHQ/docker-selenium