एक डॉकर कंटेनर से अंदर से होस्ट सिस्टम के लिए एक यूनिक्स सॉकेट का पर्दाफाश करें

मैं एक डॉकर कंटेनर के अंदर एडब्ल्यूईबी सर्वर चलाना चाहता हूं जो एक पोर्ट के बजाय यूनिक्स सॉकेट को सुनता है । मुझे डॉकर सॉकेट साझा करने पर बहुत सारे परिणाम मिल रहे हैं, लेकिन मुझे नहीं लगता कि मैं यही चाहता हूं ।

मैं चाहता हूं कि होस्ट सिस्टम यूनिक्स सॉकेट से कनेक्ट हो सके जिसे कंटेनर के अंदर सुना जा रहा है ।

मैं डॉकर-कंपोज़ का उपयोग कर रहा हूं, इसलिए उपयोग करने का सामान्य तरीका -v काम नहीं करता ।

मेरी एनजीआईएक्स साइट कॉन्फ़िगरेशन:

server {                                                                                                listen 80; listen [::]:80;                                                                server_name foo.com www.foo.com;    location / {                                                                                 proxy_pass http://unix:/var/lib/docker/volumes/app_shared/_data/app.https.sock:;               proxy_set_header Host $http_host;                                                                    proxy_http_version 1.1;                                                                              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                         proxy_set_header X-Forwarded-Proto https;                                                        } 

डॉकर-लिखें।yml

version: '3'services:        web:    build: .    volumes:            - shared:/var/app    command: "npm start"volumes:   shared:

फिर भी यह कहता है कि मैं सॉकेट से कनेक्ट नहीं कर सकता, भले ही यह होस्ट पर इस स्थान पर मौजूद हो ।

आप एक ही सॉकेट का उपयोग करके होस्ट मशीन या दो कंटेनरों को भी संवाद कर सकते हैं । दो कंटेनरों के सामान्य मामले में, आपको होस्ट मशीन से दो डॉकरों को एक वॉल्यूम साझा करना शुरू करना चाहिए जो होस्ट मशीन में बनाया जाना चाहिए ।

docker run --name "containerA" -v /var/run/common_socket_dir:/var/run/common_socket_dir...docker run --name "containerB" -v /var/run/common_socket_dir:/var/run/common_socket_dir...

दोनों, कंटेनरा और कंटेनरबी अब सॉकेट को इंटरकनेक्ट करने के लिए /वार/रन/कॉमन_स्केट_डिर/सॉकेटएक्स के रूप में उपयोग कर सकते हैं । बेशक, मेजबान मशीन कंटेनरों के साथ संवाद करने के लिए इस मात्रा में सॉकेट का उपयोग कर सकती है