मैं macOS पर डॉकर का उपयोग शुरू कर रहा हूं, और आरंभ करें मार्गदर्शिका का भाग 4. मैंने दो अतिरिक्त वर्चुअल मशीनें (myvm1
और myvm2
) बनाई हैं, myvm1
को झुंड प्रबंधक के रूप में और myvm2
को एक कार्यकर्ता के रूप में सेट किया है। फिर मैंने ट्यूटोरियल के भाग 3 से docker-compose.yml
का उपयोग करते हुए 5 फ्लास्क वेब सर्वर के साथ एक स्टैक तैनात किया है। प्रक्रियाएं ठीक शुरू होती हैं, और दो मशीनों के बीच वितरित की जाती हैं, लेकिन मैं ब्राउज़र का उपयोग करके होस्ट से उन तक पहुंचने में सक्षम नहीं हूं।
डॉकर कंटेनर चलाने वाली वर्चुअल मशीनों के मेजबान से झुंड में वेब सर्वर तक पहुंचने में सक्षम होने के लिए मुझे पोर्ट फ़ॉरवर्डिंग/नेटवर्क को कैसे कॉन्फ़िगर करना चाहिए?
निम्नलिखित आदेशों की एक सूची है जिसे मैंने चलाया है, कुछ परिणामी आउटपुट के साथ।
$ docker-machine create --driver virtualbox myvm1
$ docker-machine create --driver virtualbox myvm2
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 - virtualbox Running tcp://192.168.99.100:2376 v18.09.0
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v18.09.0
$ docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100"
$ docker-machine ssh myvm2 "docker swarm join --token <my-token-inserted-here> 192.168.99.100:2377"
$ eval $(docker-machine env myvm1)
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.09.0
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v18.09.0
$ docker stack deploy -c docker-compose.yml getstartedlab
$ docker stack ps getstartedlab
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
it9asz4zpdmi getstartedlab_web.1 mochr/test_repo:friendly_hello myvm2 Running Preparing 18 seconds ago
645gvtnde7zz getstartedlab_web.2 mochr/test_repo:friendly_hello myvm1 Running Preparing 18 seconds ago
fpq6cvcf3e0e getstartedlab_web.3 mochr/test_repo:friendly_hello myvm2 Running Preparing 18 seconds ago
plkpximnpobf getstartedlab_web.4 mochr/test_repo:friendly_hello myvm1 Running Preparing 18 seconds ago
gr2p8a0asatb getstartedlab_web.5 mochr/test_repo:friendly_hello myvm2 Running Preparing 18 seconds ago
docker-compose.yml
:
version: "3"
services:
web:
image: mochr/test_repo:friendly_hello
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "4000:80"
networks:
- webnet
networks:
webnet:
1 उत्तर
ऐसा लगता है कि यह boot2docker के वर्तमान संस्करण के साथ एक ज्ञात समस्या है: https://github.com /डॉकर/मशीन/मुद्दों/4608
वर्कअराउंड या तो उन मशीनों पर आधारित झुंड का उपयोग करना है, जिन्हें boot2docker (जैसे AWS, DigitalOcean, आदि) की आवश्यकता नहीं है, तब तक प्रतीक्षा करें जब तक कि boot2docker का नया संस्करण जारी न हो जाए, या उस लिंक में बताए अनुसार boot2docker के पुराने संस्करण का उपयोग करें। पुराने संस्करण का उपयोग करने के लिए:
export VIRTUALBOX_BOOT2DOCKER_URL=https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso
डॉकर-मशीन के साथ अपनी वर्चुअल मशीन बनाने से पहले। (पहले अपनी मौजूदा वर्चुअल मशीन निकालें, फिर उस निर्यात का उपयोग करें, फिर docker-machine create myvm1
)
फिर, आपको अपना स्टैक लाने और अपने कंटेनरों को 192.168.99.100:4000 या 192.168.99.101:4000 पर एक्सेस करने में सक्षम होना चाहिए (या डॉक-मशीन एलएस द्वारा जो भी आईपी पते प्रकट किए गए हैं)
संबंधित सवाल
नए सवाल
macos
macOS (जिसे पहले OS X या Mac OS X के नाम से जाना जाता था) Apple का डेस्कटॉप ऑपरेटिंग सिस्टम है, जो Macintosh कंप्यूटर पर पाया जाता है। इस टैग का उपयोग केवल तभी करें जब आपका प्रश्न macOS API या macOS- विशिष्ट व्यवहार का उपयोग करने से संबंधित हो, न कि यह कि आप अपने कोड को macOS चलाने के लिए करते हैं। MacOS का उपयोग करने या समस्या निवारण से संबंधित प्रश्न ऑफ़-टॉपिक हैं और इसके बजाय आस्क डिफरेंट कम्युनिटी में हैं।