डॉकटर कंटेनर से होस्ट पोर्ट तक कैसे पहुंचें


278

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

संपादित करें: मैं लिनक्स मशीन पर मूल रूप से डॉक कर रहा हूं।

अपडेट करें:

होस्ट मशीन से होस्ट आईपी का आईपी पता प्राप्त करने के लिए, नीचे दिए गए @ उत्तर के अलावा, मैं निम्नलिखित कार्य करता हूं:

ip addr show docker0 | grep -Po 'inet \K[\d.]+'

एक टिप्पणी का उपयोग करना चूंकि यह एक भयानक उत्तर है, लेकिन मेरा मानना ​​है कि आप इसे आम तौर पर 172.17.1.78 पर एक्सेस कर सकते हैं - जब तक कि यह बूट 2 डॉक सेटअप नहीं है।
CashIsClay

@CashIsClay मैंने कोशिश की, और यह त्रुटि अभी भी मिली हैcurl: (7) Failed to connect to 172.17.1.78 port 7000: No route to host
Tri Nguyen

आपने निर्दिष्ट नहीं किया; क्या आप boot2docker चला रहे हैं, या आप लिनक्स पर देशी रूप से Docker चला रहे हैं?
लार्क्स

@larsks क्षमा करें, मैंने अभी प्रश्न अपडेट किया है - मैं इसे लिनक्स पर मूल रूप से चला रहा हूं।
ट्राई न्गुयेन

जवाबों:


206

डॉकटर को मूल रूप से लिनक्स पर चलाते समय, आप docker0इंटरफ़ेस के आईपी पते का उपयोग करके होस्ट सेवाओं तक पहुंच सकते हैं । कंटेनर के अंदर से, यह आपका डिफ़ॉल्ट मार्ग होगा।

उदाहरण के लिए, मेरे सिस्टम पर:

$ ip addr show docker0
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::f4d2:49ff:fedd:28a0/64 scope link 
       valid_lft forever preferred_lft forever

और एक कंटेनर के अंदर:

# ip route show
default via 172.17.0.1 dev eth0 
172.17.0.0/16 dev eth0  src 172.17.0.4 

एक साधारण शेल स्क्रिप्ट का उपयोग करके इस आईपी पते को निकालना काफी आसान है:

#!/bin/sh

hostip=$(ip route show | awk '/default/ {print $3}')
echo $hostip

आपको iptablesडॉकर कंटेनरों से कनेक्शन की अनुमति देने के लिए अपने मेजबान पर नियमों को संशोधित करने की आवश्यकता हो सकती है । कुछ इस तरह करेगा ट्रिक:

# iptables -A INPUT -i docker0 -j ACCEPT

यह डॉकटर कंटेनरों से मेजबान पर किसी भी बंदरगाह तक पहुंच की अनुमति देगा। ध्यान दें कि:

  • iptables नियम का आदेश दिया गया है, और यह नियम सही काम नहीं कर सकता है या नहीं, इसके आधार पर अन्य नियम आते हैं।

  • आप केवल होस्ट सेवाओं तक पहुंच पाएंगे जो या तो (ए) पर सुन रहे हैं INADDR_ANY(उर्फ 0.0.0.0) या जो स्पष्ट रूप से docker0इंटरफ़ेस पर सुन रहे हैं ।


1
धन्यवाद। हो रही है आईपी पते सब मेरे लिए जरूरी था कि किया गया था, iptables :) संशोधित किए बिना
त्रि गुयेन


7
मैक के लिए डॉकर के बारे में कैसे? AFAIK "Docker for MAC" के लिए कोई docker0 नेटवर्क उपलब्ध नहीं है। उस स्थिति में मैं कंटेनर से होस्ट कैसे कनेक्ट कर सकता हूं?
विजय

17
यदि आप मैक वी 17.06 या इसके बाद के संस्करण के लिए डॉकर का उपयोग करते हैं, तो docker.for.mac.localhostइसके बजाय localhostया का उपयोग करें 127.0.0.1। यहाँ डॉक्टर है
मेरिटो

1
मैंने आईपी एड्रेस प्राप्त करने के बजाय अपने होस्ट के होस्टनाम का उपयोग किया है (होस्ट पर होस्टनाम कमांड)
मारेक एफ

312

MacOS और Windows के लिए

Docker v 18.03 और उससे अधिक (21 मार्च 2018 से)

अपने आंतरिक आईपी पते का उपयोग करें या विशेष DNS नाम से कनेक्ट करें host.docker.internalजो होस्ट द्वारा उपयोग किए गए आंतरिक आईपी पते पर हल होगा।

लिनक्स समर्थन लंबित https://github.com/docker/for-linux/issues/264

Docker के पुराने संस्करणों के साथ MacOS

मैक वी 17.12 से वी 18.02 के लिए डॉकटर

ऊपर के समान लेकिन docker.for.mac.host.internalइसके बजाय का उपयोग करें ।

मैक वी 17.06 से वी 17.11 के लिए डॉकर

ऊपर के समान लेकिन docker.for.mac.localhostइसके बजाय का उपयोग करें ।

मैक 17.05 और नीचे के लिए डोकर

डॉक कंटेनर से होस्ट मशीन तक पहुंचने के लिए आपको अपने नेटवर्क इंटरफ़ेस में एक आईपी उर्फ ​​संलग्न करना होगा। आप जो भी आईपी चाहते हैं उसे बांध सकते हैं, बस सुनिश्चित करें कि आप इसे किसी और चीज़ के लिए उपयोग नहीं कर रहे हैं।

sudo ifconfig lo0 alias 123.123.123.123/24

फिर सुनिश्चित करें कि आप सर्वर ऊपर उल्लिखित आईपी सुन रहे हैं या 0.0.0.0। यदि यह लोकलहोस्ट पर सुन रहा है तो यह 127.0.0.1कनेक्शन स्वीकार नहीं करेगा।

फिर बस इस आईपी के लिए अपने डॉकटर कंटेनर को इंगित करें और आप मेजबान मशीन तक पहुंच सकते हैं!

परीक्षण करने के लिए आप curl -X GET 123.123.123.123:3000कंटेनर के अंदर कुछ चला सकते हैं ।

उपनाम प्रत्येक रिबूट पर रीसेट हो जाएगा, इसलिए यदि आवश्यक हो तो एक स्टार्ट-अप स्क्रिप्ट बनाएं।

समाधान और अधिक दस्तावेज यहां: https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds


मैंने इसका सफल परीक्षण किया है। फ़ायरवॉल को बंद करने की आवश्यकता नहीं है
अलवारो जी

15
17.06 से, जून 2017 में रिलीज, उनकी सिफारिश विशेष मैक-केवल DNS नाम से कनेक्ट करने के लिए है docker.for.mac.localhostजो होस्ट द्वारा उपयोग किए गए आंतरिक आईपी पते का समाधान करेगा! ... मैंने इसका परीक्षण किया है और यह वास्तव में काम कर रहा है! :)
किड

अपने जैसे मैक उपयोगकर्ताओं के लिए जवाब पर हाजिर। धन्यवाद। एक चीज जो मुझे नहीं मिलती, वह यह है कि ip route show | awk '/default/ {print $3}'एक आईपी देने वाला दूसरा क्यों docker.for.mac.localhostहै।
dmmd


1
host.docker.internalडॉकटर कंटेनर में उपयोग करने और मेजबानों फ़ाइल 127.0.0.1 host.docker.internalमें कॉन्फ़िगर करने की अनुशंसा करें ।
Junlin

84

--net="host"अपने docker runकमांड में उपयोग करें , फिर localhostअपने डॉक कंटेनर में अपने डॉक होस्ट को इंगित करेगा।


15
मैक के लिए Windows / Docker के लिए Dpcker का उपयोग करने वालों के लिए काम नहीं करेंगे जहां तक ​​मैं इस तथ्य के कारण समझता हूं कि कंटेनर वर्चुअलाइज्ड वातावरण में चलते हैं: हाइपर- V (विंडोज) / xhyve (मैक)
ninjaboy

6
यह! यह जवाब है!
user3751385

14
सिर्फ रिकॉर्ड के लिए: डॉकर कम्पोनेंट के भीतर, network_mode: "host"
जर्ब्रोस

यह मेरे लिए क्लाइंट और सर्वर पर मैक संस्करण 19.03.1 के लिए डॉकर पर काम नहीं कर रहा है। काश यह काम कर रहा होता, लेकिन ऐसा नहीं है।
मिट्टी

1
यहां तक ​​कि अगर मैं मैक पर हूं, तो यह तब काम करता है जब आप दो डॉकटर कंटेनरों के बीच संचार चाहते हैं और जैसा कि मैंने सभी एप्लिकेशन को
डॉकटर

26

Docker-compose के साथ समाधान: होस्ट-आधारित सेवा तक पहुँचने के लिए आप network_modeपैरामीटर का उपयोग कर सकते हैं https://docs.docker.com/compose/compose-file/#network_mode

version: '3'
services:
  jenkins:
    network_mode: host

EDIT 2020-04-27: केवल स्थानीय विकास परिवेश में उपयोग के लिए अनुशंसित।


फिर जेनकिंस कैसे पहुंचें? लगता है कि पोर्ट अग्रेषण काम नहीं कर रहा है अगर होस्ट नेटवर्क मोड का उपयोग करें
जेफ तियान

1
यह एक बहुत ही जोखिम भरा समाधान है और अनुशंसित नहीं है। जब तक स्पष्ट रूप से जरूरत न हो, तब तक हमें अपने मेजबान नेटवर्क को कंटेनरों में नहीं खोलना चाहिए
फतेह माज

12

वर्तमान में मैक और विंडोज पर ऐसा करने का सबसे आसान तरीका होस्ट का उपयोग करना है host.docker.internal, जो मशीन के आईपी पते को होस्ट करने का संकल्प करता है। दुर्भाग्य से यह अभी तक लिनक्स पर काम नहीं करता है (अप्रैल 2018 तक)।


इस समाधान ने डॉकर संस्करण 19.03.1 के साथ काम किया। यहां दिए गए कई अन्य समाधान काम नहीं करते हैं। यह docs.docker.com/docker-for-mac/networking/…
मिट्टी में

12

मैंने https://github.com/qoomon/docker-host को ठीक करने के लिए एक डॉकटर कंटेनर बनाया

आप तब मेजबान सिस्टम जैसे पहुँच के लिए कंटेनर नाम डीएनएस का उपयोग कर सकते हैं curl http://dockerhost:9200


यह एक चतुर उपाय है। क्या आप बहुत अधिक ट्रैफ़िक के साथ इसका उपयोग करने के बारे में कुछ जानते हैं? इस कंटेनर के माध्यम से सभी यातायात को समीप करने के लिए ओवरहेड हो सकता है।
bcoughlan

3
हाँ, यह बहुत अच्छा काम करता है बमुश्किल कोई ओवरहेड बिल्कुल नहीं क्योंकि यह सिर्फ लूपबैक-डिवाइस पर काम करता है
qoomon

11

हमने पाया कि इस सभी नेटवर्किंग कबाड़ का एक सरल समाधान सिर्फ सेवा के लिए डोमेन सॉकेट का उपयोग करना है। यदि आप वैसे भी होस्ट से कनेक्ट करने का प्रयास कर रहे हैं, तो बस सॉकेट को वॉल्यूम के रूप में माउंट करें, और आप अपने रास्ते पर हैं। Postgresql के लिए, यह उतना ही सरल था:

docker run -v /var/run/postgresql:/var/run/postgresql

तब हम नेटवर्क के बजाय सॉकेट का उपयोग करने के लिए अपना डेटाबेस कनेक्शन सेट करते हैं। सचमुच इतना आसान है।


यह एक बेहतरीन उपाय है। अच्छी नौकरी!
एक

2
FYI करें, हम इसके साथ एक बड़े मुद्दे पर भागे: मैक के लिए डॉकर माउंटेड वॉल्यूम के रूप में सॉकेट्स का समर्थन नहीं करता है। यह तब तक तैरता रहा जब तक एक मैक व्यक्ति ने इसे आजमाया नहीं। :(
एमएलसीनर

धन्यवाद! लिनक्स पर एक आकर्षण की तरह काम किया!
मार्सेलो कार्डोसो

7

मैंने विभिन्न समाधानों की खोज की है और मुझे यह सबसे कम हैसी समाधान लगता है:

  1. पुल गेटवे आईपी के लिए एक स्थिर आईपी पते को परिभाषित करें।
  2. extra_hostsनिर्देश में एक अतिरिक्त प्रविष्टि के रूप में गेटवे आईपी जोड़ें ।

केवल नकारात्मक पक्ष यह है कि यदि आपके पास कई नेटवर्क या परियोजनाएं हैं, तो आपको यह सुनिश्चित करना होगा कि उनके आईपी पते की सीमा संघर्ष न करें।

यहाँ एक डॉकर कम्पोज़ उदाहरण है:

version: '2.3'

services:
  redis:
    image: "redis"
    extra_hosts:
      - "dockerhost:172.20.0.1"

networks:
  default:
    ipam:
      driver: default
      config:
      - subnet: 172.20.0.0/16
        gateway: 172.20.0.1

आप तब होस्टनाम "dockerhost" का उपयोग करके कंटेनर के अंदर से होस्ट पर बंदरगाहों तक पहुंच सकते हैं।


7

लिनक्स सिस्टम के लिए, आप कर सकते हैं - प्रमुख संस्करण से शुरू 20.04- अब मेजबान के माध्यम से भी संवाद करें host.docker.internal। यह स्वचालित रूप से काम नहीं करेगा , लेकिन आपको निम्न रन ध्वज प्रदान करने की आवश्यकता है:

--add-host=host.docker.internal:host-gateway

देख


3

आप स्थानीय वेबसर्वर तक पहुँच सकते हैं जो आपके मेजबान मशीन में दो तरह से चल रहा है।

  1. सार्वजनिक आईपी के साथ 1 दृष्टिकोण

    जेनकिंस डॉकटर कंटेनर में वेबसर्वर का उपयोग करने के लिए मेजबान मशीन सार्वजनिक आईपी पते का उपयोग करें।

  2. मेजबान नेटवर्क के साथ दृष्टिकोण 2

    होस्ट के नेटवर्क स्टैक पर जेनकींस डॉकटर कंटेनर को जोड़ने के लिए "--नेट होस्ट" का उपयोग करें। कंटेनर जो होस्ट के स्टैक पर तैनात किए गए हैं, उनकी होस्ट इंटरफ़ेस तक पूरी पहुंच है। आप होस्ट मशीन के निजी आईपी पते के साथ डॉक कंटेनर में स्थानीय वेबसर्वर का उपयोग कर सकते हैं।

NETWORK ID          NAME                      DRIVER              SCOPE
b3554ea51ca3        bridge                    bridge              local
2f0d6d6fdd88        host                      host                local
b9c2a4bc23b2        none                      null                local

होस्ट नेटवर्क के साथ एक कंटेनर शुरू करें Eg: docker run --net host -it ubuntuऔर ifconfigसभी उपलब्ध नेटवर्क आईपी पते को सूचीबद्ध करने के लिए चलाएं जो डॉकटर कंटेनर से उपलब्ध हैं।

उदाहरण: मैंने अपने स्थानीय होस्ट मशीन में एक नगनेक्स सर्वर शुरू किया है और मैं उबंटू डॉकटर कंटेनर से नग्नेक्स वेबसाइट यूआरएल का उपयोग करने में सक्षम हूं।

docker run --net host -it ubuntu

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
a604f7af5e36        ubuntu              "/bin/bash"         22 seconds ago      Up 20 seconds                           ubuntu_server

निजी नेटवर्क आईपी पते के साथ Ubuntu docker कंटेनर से Nginx वेब सर्वर (स्थानीय होस्ट मशीन में चल रहा है) तक पहुँचना।

root@linuxkit-025000000001:/# curl 192.168.x.x -I
HTTP/1.1 200 OK
Server: nginx/1.15.10
Date: Tue, 09 Apr 2019 05:12:12 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 26 Mar 2019 14:04:38 GMT
Connection: keep-alive
ETag: "5c9a3176-264"
Accept-Ranges: bytes

3

के लिए docker-composeपुल नेटवर्किंग का उपयोग कर स्वीकार किए जाते हैं समाधान का उपयोग कर कंटेनर के बीच एक निजी नेटवर्क बनाने के लिए docker0नहीं करता है काम, क्योंकि कंटेनर से बाहर निकलने इंटरफेस नहीं है docker0, लेकिन इसके बजाय यह इस तरह के रूप में एक यादृच्छिक रूप से जनरेट इंटरफ़ेस आईडी दिया गया है:

$ ifconfig

br-02d7f5ba5a51: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.32.1  netmask 255.255.240.0  broadcast 192.168.47.255

दुर्भाग्य से यह है कि रैंडम आईडी अनुमानित नहीं है और हर बार बदलने के लिए रचना को नेटवर्क को फिर से बनाना होगा (जैसे एक मेजबान रिबूट पर)। मेरा समाधान इसके लिए एक ज्ञात सबनेट में निजी नेटवर्क बनाना और iptablesउस सीमा को स्वीकार करने के लिए कॉन्फ़िगर करना है:

फ़ाइल स्निपेट लिखें:

version: "3.7"

services:
  mongodb:
    image: mongo:4.2.2
    networks:
    - mynet
    # rest of service config and other services removed for clarity

networks:
  mynet:
    name: mynet
    ipam:
      driver: default
      config:
      - subnet: "192.168.32.0/20"

यदि आपके वातावरण को इसकी आवश्यकता है तो आप सबनेट को बदल सकते हैं। मैं डिफ़ॉल्ट रूप से यह देखने के लिए मनमाने ढंग से चुना 192.168.32.0/20गया docker network inspectकि क्या बनाया जा रहा है।

iptablesस्रोत के रूप में निजी सबनेट को अनुमति देने के लिए होस्ट पर कॉन्फ़िगर करें :

$ iptables -I INPUT 1 -s 192.168.32.0/20 -j ACCEPT

यह सबसे सरल संभव iptablesनियम है। आप अन्य प्रतिबंध जोड़ना चाह सकते हैं, उदाहरण के लिए गंतव्य बंदरगाह। जब आप खुश हों कि वे काम कर रहे हैं तो अपने iptables नियमों को जारी रखना न भूलें।

इस दृष्टिकोण को दोहराए जाने और इसलिए स्वचालित होने का लाभ है। मैं templateपरिवर्तनीय प्रतिस्थापन के साथ अपनी रचना फ़ाइल को तैनात करने के लिए ansible के मॉड्यूल का उपयोग करता हूं और फिर क्रमशः फ़ायरवॉल नियमों को कॉन्फ़िगर करने और बनाए रखने के लिए iptablesऔर shellमॉड्यूल का उपयोग करता हूं ।


मैंने कई उत्तर सुझाए iptables -A INPUT -i docker0 -j ACCEPT, लेकिन इससे मुझे मदद नहीं मिली, जबकि iptables -I INPUT 1 -s 192.168.32.0/20 -j ACCEPTयहाँ सुझाए गए सुझाव से मेरी समस्या हल हो गई।
टेरी ब्राउन

1

यह एक पुराना प्रश्न है और इसके कई उत्तर थे, लेकिन उनमें से कोई भी मेरे संदर्भ में अच्छी तरह से फिट नहीं है। मेरे मामले में, कंटेनर बहुत दुबले हैं और कंटेनर के भीतर से होस्ट के आईपी पते को निकालने के लिए आवश्यक कोई भी नेटवर्किंग उपकरण नहीं है।

इसके अलावा, --net="host"दृष्टिकोण एक बहुत ही मोटा दृष्टिकोण है जो तब लागू नहीं होता है जब कोई कई कंटेनरों के साथ अच्छी तरह से पृथक नेटवर्क कॉन्फ़िगरेशन चाहता है।

इसलिए, मेरा दृष्टिकोण मेजबान के पते पर मेजबान के पते को निकालना है, और फिर इसे --add-hostपैरामीटर के साथ कंटेनर में पास करना है :

$ docker run --add-host=docker-host:`ip addr show docker0 | grep -Po 'inet \K[\d.]+'` image_name

या, किसी वातावरण चर में होस्ट का IP पता सहेजें और बाद में चर का उपयोग करें:

$ DOCKERIP=`ip addr show docker0 | grep -Po 'inet \K[\d.]+'`
$ docker run --add-host=docker-host:$DOCKERIP image_name

और फिर docker-hostकंटेनर के होस्ट फ़ाइल में जोड़ा जाता है, और आप इसे अपने डेटाबेस कनेक्शन स्ट्रिंग्स या एपीआई यूआरएल में उपयोग कर सकते हैं।


0

जब आपके पास दो डॉकटर छवियां "पहले से ही" बनाई जाती हैं और आप एक दूसरे के साथ संवाद करने के लिए दो कंटेनरों को रखना चाहते हैं।

उसके लिए, आप आसानी से प्रत्येक कंटेनर को अपने स्वयं के --name के साथ चला सकते हैं और उनके बीच संचार को सक्षम करने के लिए --link ध्वज का उपयोग कर सकते हैं। हालांकि आपको डॉक बिल्ड के दौरान यह नहीं मिलता है।

जब आप अपने जैसे परिदृश्य में होते हैं, और यह आपका है

docker build -t "centos7/someApp" someApp/ 

जब आप कोशिश करते हैं तो टूट जाता है

curl http://172.17.0.1:localPort/fileIWouldLikeToDownload.tar.gz > dump.tar.gz

और आप "कर्ल / विग" पर अटक जाते हैं, जो "होस्ट करने के लिए कोई मार्ग नहीं" है।

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

इसके लिए विवरण निम्नलिखित प्रलेखन में विस्तार से वर्णित है।

http://www.dedoimedo.com/computers/docker-networking.html

दो त्वरित वर्कअराउंड दिए गए हैं जो नेटवर्क सुरक्षा को कम करके आपको आगे बढ़ने में मदद करते हैं।

सबसे आसान विकल्प फायरवॉल को बंद करना है - या सभी को अनुमति देना है। इसका मतलब है आवश्यक कमांड चलाना, जो फायरवॉल, iptables -F या समकक्ष को व्यवस्थित रूप से रोक सकता है।

आशा है कि यह जानकारी आपकी मदद करती है।


3
एक नोट के रूप में, --linkअब पदावनत किया जाता है
Mr.Budris

0

मेरे लिए (विंडोज 10, डॉकर इंजन v19.03.8) यह https://stackoverflow.com/a/43541732/7924573 और https://stackoverflow.com/a/50866007/7924573 का मिश्रण था ।

  1. मेजबान / आईपी को host.docker.internal में बदलें।
    जैसे: LOGGER_URL = " http: //host.docker.internal: 8085 / log "
  2. network_mode को ब्रिज पर सेट करें (यदि आप पोर्ट फ़ॉरवर्डिंग बनाए रखना चाहते हैं; यदि होस्ट का उपयोग नहीं करते हैं ):
    version: '3.7' services: server: build: . ports: - "5000:5000" network_mode: bridge या वैकल्पिक रूप से: --net="bridge"यदि आप docker-compose ( https://stackoverflow.com/a/48806927-7924573 के समान ) का उपयोग नहीं कर रहे हैं, तो उपयोग करें
    जैसा कि पिछले उत्तरों में बताया गया है: इसका उपयोग केवल स्थानीय विकास परिवेश में किया जाना चाहिए ।
    अधिक जानकारी के लिए पढ़ें: https://docs.docker.com/compose/compose-file/#network_mode और https://docs.docker.com/docker-for-windows/networking/#use-cases-and-workarounds
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.