2016-04-06 6 views
5

मैं के माध्यम से एक सेलेनियम हब छवि शुरू कर सकते हैं:डॉकर का उपयोग करने के बजाय डेलर-कंपोज़ के माध्यम से सेलेनियम हब और एक लिंक नोड कैसे शुरू करें?

docker run --rm=true -P -p 4444:4444 --name selenium-hub selenium/hub 

और के माध्यम से एक फ़ायरफ़ॉक्स कार्यकर्ता जोड़ें: http://localhost:4444/grid/console पर जा रहे हैं तो ग्रिड ठीक दिखाएगा

docker run --rm=true --link selenium-hub:hub selenium/node-firefox 

मैं हर बार डॉकर का उपयोग नहीं करना चाहता हूं लेकिन docker-compose के माध्यम से एक ही सेटअप है।

इसलिए मैंने सोचा कि मैं सिर्फ आप ऐसा कर सकते मेरी docker-compose.yml:

selenium_hub: 
    image: selenium/hub 
    ports: ["4444:4444"] 
    links: 
     - selenium_firefox_worker 
selenium_firefox_worker: 
    image: selenium/node-firefox 

फिर भी docker-compose up चलाने के बाद मैं संदेश मिलता है:

selenium_firefox_node_1 | Not linked with a running Hub container 
selenium_firefox_node_1 exited with code 1 

और इसलिए ग्रिड किसी भी नोड प्रदर्शित नहीं करता है ।

मैंने सोचा था कि मैं गलत क्रम में जोड़ने कर किया जा सकता है, फिर भी यहां तक ​​कि एक ही त्रुटि में

selenium_hub: 
    image: selenium/hub 
    ports: ["4444:4444"] 
selenium_firefox_node: 
    image: selenium/node-firefox 
    links: 
     - selenium_hub 

पैदावार।

मैं क्या गलत कर रहा हूं?

+0

मुझे लगता है कि यह होस्ट का नाम है। हो सकता है कि आप होस्ट नाम "हब" से कनेक्ट करने का प्रयास कर रहे हों, लेकिन जो लिंक आप बना रहे हैं वह वास्तव में "selenium_firefox_worker" है? –

उत्तर

3
selenium_hub: 
    image: selenium/hub 
    ports: ["4444:4444"] 
selenium_firefox_node: 
    image: selenium/node-firefox 
    links: 
     - "selenium_hub:hub" 

जबकि k0pernikus' answer काम करता है, मैं सिर्फ कारण है कि यह असफल रहा था पर विस्तृत करना चाहता था।

नोड कंटेनर एक केंद्र के रूप में जो केवल समाधान योग्य है से कनेक्ट करने की उम्मीद:

hub 

बल्कि उनके उदाहरण में की तुलना में यह समाधान योग्य हो जाएगा जहां के रूप में:

selenium_hub 
5

Stumbling across this tutorial, यह वाक्यविन्यास प्रदान किया गया था। और भले ही यह मेरे दृष्टिकोणों में से एक जैसा है, यह काम करता है।

hub: 
    image: selenium/hub 
    ports: 
    - "4444:4444" 
firefox: 
    image: selenium/node-firefox 
    links: 
    - hub 
chrome: 
    image: selenium/node-chrome 
    links: 
    - hub 

यह नामकरण के बारे में कुछ हो रहा है, अभी तक यकीन नहीं है।

6

एक तरफ ध्यान दें के रूप में, यदि डॉकर-कंपोज़ संस्करण 2 प्रारूप का उपयोग करना है तो आपको कुछ एनवी वैरिएबल निर्दिष्ट करना होगा, अन्यथा नोड हब से कनेक्ट नहीं होगा:

version: '2' 
services: 
    hub: 
     image: selenium/hub 
     ports: 
      - "4444:4444" 

    firefox: 
     image: selenium/node-firefox 
     environment: 
      HUB_PORT_4444_TCP_ADDR: hub 
      HUB_PORT_4444_TCP_PORT: 4444 
     links: 
      - hub 

क्रेडिट: Containers are not linked with docker-compose version 2

+1

संस्करण '2.1' के साथ भी काम करता है –

संबंधित मुद्दे