2016-08-01 7 views
5

मैं एक डॉकर चला रहा हूं (जिसे मैंने स्वयं बनाया है), यह डॉकर ई 2 ई परीक्षण चला रहा है। ब्राउज़र ऊपर है और चल रहा है लेकिन मैं सुविधा रखने के लिए एक और अच्छा चाहता हूं, मैं ऑनलाइन सत्र देखने की क्षमता चाहता हूं।xvfb सत्र को कैसे देखना है जो मेरे स्थानीय ब्राउज़र से रिमोट सर्वर पर डॉकर के अंदर है?

मेरे docker run आदेश है:

docker run -p 4444:4444 --name ${DOCKER_TAG_NAME} 
      -e Some_ENVs 
      -v Volume:Volume 
      --privileged 
      -d "{docker-registry}" >> /dev/null 2>&1 

मैं स्क्रीनशॉट निर्यात करने में सक्षम हूँ, लेकिन कुछ मामलों में यह पर्याप्त नहीं है और देख रहा है क्या है परीक्षण का सही राज्य अद्भुत होगा की क्षमता। मैंने कई विकल्पों की कोशिश की लेकिन मैं एक मृत अंत में आया, कोई भी मदद महान होगी।

  • मेरे परीक्षण कर रहे हैं Python 2.7
  • मेरे डोकर आधार में ubuntu:14.04
  • मेरे पर्यावरण एडब्ल्यूएस में है (यदि यह बात है)
  • डोकर उबंटू सर्वरों पर चलता है।

  • मैं इसे this का डुप्लिकेट जानते हैं, लेकिन कोई भी उसे इतना जवाब ...

+0

इससे मदद मिल सकती है: http://stackoverflow.com/questions/12050021/how-to-make-xvfb-display-visible –

+0

मैंने पहले ही इस प्रश्न को देखा है, बात यह है कि मेरी समस्या सत्र से नहीं देख रही है सर्वर जो डॉकर चलता है, यह है कि मैं उस सत्र को देखना चाहता हूं जो सर्वर के अंदर डॉकर के अंदर है। –

उत्तर

2

पर VNC व्यूअर का उपयोग करके कनेक्ट किया गया Selenoid नामक एक हालिया टूल है। यह Docker कंटेनरों में ब्राउज़रों को लॉन्च कर रहा है (यानी हेडलेस जैसा आपको चाहिए)। इसमें के माध्यम से लाइव सत्र स्क्रीन दिखाने में सक्षम एक स्टैंडअलोन UI है। तो आप समानांतर में कई सत्र लॉन्च कर सकते हैं और फिर लक्ष्य ब्राउज़र में होने वाली कार्रवाइयों को देख सकते हैं और यहां तक ​​कि अवरोध भी कर सकते हैं। यह सब सामान क्लाउड पर्यावरण में पूरी तरह से काम करता है।

+0

की मदद करने के लिए धन्यवाद बहुत ही आशाजनक लगता है, मैं इसे एक शॉट दे रहा हूं, लेकिन इसके लिए यह ठीक नहीं हो रहा है .. https://github.com/aerokube/selenoid/issues/102 मैं अपडेट करूँगा यह कैसा चल रहा है। धन्यवाद एक लॉग! –

+0

पहले से ही उत्तर दिया गया है। कृपया इन छवियों के साथ प्रयास करें: https://hub.docker.com/r/selenoid/vnc/ –

0

मैं VNC के साथ पहले की तरह ही इस मुद्दे को सामना करना पड़ा है, तो आप अपने xvfb/VNC पता करने के लिए है, जिसमें बंदरगाह है जरूरत उसके बाद उस बंदरगाह को खोलने के बाद आप सेकेंडरी समूह के साथ ऐसा करते हैं तो आप कनेक्ट करने में सक्षम होना चाहिए।

मेरे मामले पर मैं सेलेनियम डोकर "https://github.com/elgalu/docker-selenium" शुरू हो गया था और यह आदेश इस्तेमाल किया डोकर मशीन "डोकर रन -d --name = ग्रिड -p 4444 शुरू करने के लिए: 24,444 -p 5900: 25900 \ -v/dev/shm:/dev/shm -e vnc_password = hola \ -e SCREEN_WIDTH = 1920 -e SCREEN_HEIGHT = 1480 \ elgalu/सेलेनियम "

आदेश के अनुसार VNC बंदरगाह है" 5900 "तो मैं बंदरगाह कि खोला उदाहरण के लिए सुरक्षा समूह, और पोर्ट 5900

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