डॉकर-प्रॉक्सी प्रक्रिया का क्या मतलब है? यूजरस्पेस टीसीपी प्रॉक्सी की आवश्यकता क्यों है?

मैंने देखा है कि प्रत्येक प्रकाशित पोर्ट के लिए डॉकर-प्रॉक्सी प्रक्रिया चल रही है । इस प्रक्रिया का उद्देश्य क्या है? इसके लिए यूजर स्पेस टीसीपी प्रॉक्सी की आवश्यकता क्यों है?

$ ps -Af | grep proxyroot      4776  1987  0 01:25 ?        00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 22222 -container-ip 172.17.0.2 -container-port 22root      4829  1987  0 01:25 ?        00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 5555 -container-ip 172.17.0.3 -container-port 5555

और डॉकर द्वारा बनाए गए कुछ संबंधित आईपीटेबल नियम:

$ sudo iptables -t nat -L -n -vChain PREROUTING (policy ACCEPT 1 packets, 263 bytes) pkts bytes target     prot opt in     out     source               destination             0     0 DOCKER     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCALChain INPUT (policy ACCEPT 1 packets, 263 bytes) pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT (policy ACCEPT 1748 packets, 139K bytes) pkts bytes target     prot opt in     out     source               destination            32  7200 DOCKER     all  --  *      *       0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCALChain POSTROUTING (policy ACCEPT 1719 packets, 132K bytes) pkts bytes target     prot opt in     out     source               destination            32  7200 MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0           Chain DOCKER (2 references) pkts bytes target     prot opt in     out     source               destination             0     0 DNAT       tcp  --  !docker0 *       0.0.0.0/0            127.0.0.1            tcp dpt:22222 to:172.17.0.2:22    0     0 DNAT       tcp  --  !docker0 *       0.0.0.0/0            127.0.0.1            tcp dpt:5555 to:172.17.0.3:5555

जाहिरा तौर पर बेहतर वर्कअराउंड के बिना कुछ किनारे के मामले हैं (अभी के लिए):

  • >लोकलहोस्ट और लेफ्टिनेंट;-लोकलहोस्ट रूटिंग
  • डॉकर इंस्टेंस अपने प्रकाशित पोर्ट के माध्यम से खुद को बुला रहा है
  • और संभवतः अधिक

https://github.com/docker/docker/issues/8356

अद्यतन: 1.7.0 (2015-06-16) के बाद से यूज़रलैंड प्रॉक्सी को डेमॉन के --यूज़रलैंड-प्रॉक्सी=झूठे झंडे का उपयोग करके हेयरपिन एनएटी के पक्ष में अक्षम किया जा सकता है ।

इस प्रश्न को बंद करने के बारे में असहमत हैं । यह एक वैध वास्तुशिल्प मुद्दा है जो एक ऑफशूट है ssh - Restricting the network access of Docker container - Server Fault ; यदि हम डाउन-वोटिंग कर रहे हैं जो सेवा के एक संयुक्त राष्ट्रदस्तावेज (कम से कम वेबसाइट पर) भाग प्रतीत होता है, तो यह सवाल पूछता है, क्या हमें बस आँख बंद करके नई और चमकदार सेवाओं को स्थापित करना चाहिए जो हम आंतरिक कामकाज को नहीं समझते हैं?

इसके अलावा एसओ पर Why does Docker run so many processes to map ports though to my application? - Stack Overflow