2016-02-16 13 views
7

मैंने स्थानीय रूप से फ़ाइल बनाई है। के साथ docker-compose up -d जैसे रिमोट होस्ट पर कंटेनर के बंडल को कैसे चलाएं?रिमोट होस्ट पर डॉकर-कंपोज़ कैसे चलाएं?

+0

आपका मतलब है 'रिमोट होस्ट': इस पर काबू पाने के लिए, envsubst utilitySSH आदेश करने के लिए सामग्री पाइप से पहले स्मृति में अपने स्थानीय मूल्यों के साथ चर को बदलने के लिए इस्तेमाल किया जा सकता? – JAM

+0

हाँ, रिमोट, sry – Arsen

+0

आपका प्रश्न मेरे लिए अस्पष्ट नहीं है। क्या आप वास्तव में 'डॉकर-कंपोज़' के माध्यम से रिमोट होस्ट पर एक कंटेनर तैनात करना चाहते हैं? – Auzias

उत्तर

4

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

स्थानीय मशीन पर: आप एच पैरामीटर के साथ दूरस्थ होस्ट नियंत्रित कर सकते हैं

docker -H tcp://remote:2375 pull ubuntu 

डोकर-लिखें सुविधा के साथ उपयोग करने के लिए, आप इस पैरामीटर/etc/default/डोकर

में जोड़ना चाहिए

रिमोट मशीन

आप बदलना चाहिए पर बाहरी पता और न केवल यूनिक्स सॉकेट से सुन। अधिक जानकारी के लिए

Bind Docker to another host/port or a Unix socket देखें।

आप एक से अधिक दूरस्थ Hoste पर कंटेनर को चलाने के लिए की जरूरत है, तो आप डोकर झुंड

3

कॉन्फ़िगर करना चाहिए तो लिखें प्रलेखन

Compose CLI environment variables

DOCKER_HOST

से डोकर का URL सेट डेमॉन। डॉकर क्लाइंट के साथ, यूनिक्स के लिए डिफ़ॉल्ट: ///var/run/docker.sock।

ताकि हम

export DOCKER_HOST=tcp://192.168.1.2:2375 
docker-compose up 
2

यह देखते हुए कि आप रिमोट मशीन पर लॉग इन करने में सक्षम हैं कर सकते हैं, उस मशीन पर docker-compose आदेशों को चलाने के लिए एक और दृष्टिकोण SSH उपयोग करने के लिए है।

scp के माध्यम से दूरस्थ होस्ट में कॉपी करें अपने docker-compose.yml फ़ाइल, SSH से अधिक docker-compose आदेशों को चलाने के अंत में फिर से फाइल को हटाने के द्वारा साफ। यह इस प्रकार दे सकता है:

scp ./docker-compose.yml [email protected]:/tmp/docker-compose.yml 
ssh [email protected] "docker-compose -f /tmp/docker-compose.yml up" 
ssh [email protected] "rm -f /tmp/docker-compose.yml" 

तुम भी इसे छोटा बनाएं और भेजने और जो उम्मीद करेंगे docker-compose.yml फ़ाइल stdin से पहुंचाया जा करने के लिए docker-compose को -f - विकल्प का उपयोग करके docker-compose.yml फ़ाइल को हटाने को छोड़ सकता है। बस पाइप SSH आदेश करने के लिए अपनी सामग्री:

cat docker-compose.yml | ssh [email protected] "docker-compose -f - up" 

आप अपने docker-compose.yml फ़ाइल में वातावरण चर प्रतिस्थापन का उपयोग करते हैं, उपर्युक्त आदेश उन्हें अपने स्थानीय मूल्यों के साथ दूरस्थ होस्ट पर जगह नहीं होगी और आपके आदेश की वजह से असफल हो सकता है असुरक्षित होने के चर।

envsubst < docker-compose.yml | ssh [email protected] "docker-compose up" 
संबंधित मुद्दे