मैं डॉकर के अंदर एक एनजीआईएनएक्स प्रॉक्सी स्थापित करने की कोशिश कर रहा हूं जो वेब ट्रैफ़िक के लिए सुनेगा और फिर वर्चुअलहोस्ट पर आधारित ट्रैफ़िक को अलग-अलग जेनकिंस उदाहरणों के आधार पर भी डॉकर कंटेनरों के अंदर चल रहा है । इसे ऑर्केस्ट्रेट करने के लिए मैं डॉकर-कंपोज़ का उपयोग करता हूं ।
मैं करने में कामयाब रहा:
- जेनकिंस इंस्टेंस शुरू करें और उनसे सीधे बात करें
- एनजीआईएनएक्स शुरू करें और इसे किसी अन्य होस्ट पर चलने वाले वेबसर्वर के लिए प्रॉक्सी के रूप में कार्य करने के लिए कॉन्फ़िगर करें
लेकिन जब मैं एनजीआईएनएक्स सर्वर को डॉकर के अंदर यातायात को रूट करने की कोशिश करता हूं तो मैं इसे काम करने के लिए प्राप्त नहीं कर सकता, बस 502-बैग गेटवे त्रुटियां और एनजीआईएनएक्स लॉग में फॉलिंग प्राप्त कर रहा हूं:
[error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "localhost:8080"
मेरे डॉकर-रचना के प्रासंगिक भाग । yml:
httpd: build: httpd ports: - "8080:8080" links: - "server_jenkins" - "clients_jenkins" restart: alwaysserver_jenkins: image: jenkins ports: - "8081:8080" restart: alwaysclients_jenkins: image: jenkins ports: - "8082:8080" restart: always
Httpd/Dockerfile इस तरह दिखता है:
FROM nginxRUN rm -rf /etc/nginxCOPY config /etc/nginx/
और प्रासंगिक भागों के nginx.कॉन्फ इस तरह दिखता है (केवल एक जेनकिंस उदाहरण को प्रॉक्सी कर रहा है):
http { server { listen 8080; server_name server.build.example.com; root /tmp; location / { proxy_pass http://127.0.0.1:8081; } } server { listen 8080; server_name clients.build.example.com; root /tmp; location / { proxy_pass http://127.0.0.1:8082; } }}
मैंने पहले प्रॉक्सी_पास यूआरएल के निम्नलिखित वेरिएंट की कोशिश की है (और कुछ अन्य जो मुझे याद नहीं हैं):
- http://server_jenkins:8081
- http://172.18.0.3:8081 (आईपी-नंबर सर्वर_जेनकिन्स को सौंपा गया है जब साथ चल रहा है --एक्स-नेटवर्किंग)
जब साथ चल रहा है --एक्स-नेटवर्किंग मैंने डॉकर-कंपोज़ में कंटेनर_नाम के लिंक स्टेटमेंट को बदल दिया । yml
Versions:
- डॉकर: 1.9.1, ए 34 ए 1 डी 5 बनाएं
- डॉकर-कंपोज़: 1.5.2, बिल्ड 7240 एफएफ 3
- ओएस: डेबियन 8 (वर्चुअलबॉक्स के अंदर चल रहा है)