Docker स्थापित है लेकिन Docker Compose नहीं है? क्यों?


127

मैंने सेंटो 7 पर डॉकटर स्थापित किया है। निम्नलिखित कमांड चलाकर,

curl -sSL https://get.docker.com/ | sh
systemctl enable docker && systemctl start docker
docker run hello-world

नोट: Helloworld सही ढंग से और कोई समस्या नहीं है।

हालाँकि जब मैं डॉकटर-कंपोज़ (docker-compose.yml मौजूद है और मान्य है) चलाने की कोशिश कर रहा हूँ तो यह मुझे Centos पर केवल त्रुटि देता है (Windows संस्करण docker-compose फ़ाइल के लिए ठीक काम करता है)

/usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

5
विंडोज और मैक के लिए पर्याप्त रूप से पर्याप्त है और सब कुछ लोड और उपलब्ध है, जबकि लिनक्स उपयोगकर्ताओं को सामान को अलग से स्थापित करने और स्थापित करने के लिए
ड्रग के

जवाबों:


277

आपको Docker Compose को भी इंस्टॉल करना होगा। मैनुअल देखें । यहां उन कमांड्स हैं जिन्हें आपको निष्पादित करने की आवश्यकता है

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)"  -o /usr/local/bin/docker-compose
sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

4
दूसरी पंक्ति चलाते समय मुझे एक प्रतिक्रिया मिलती है:mv: rename ./docker-compose to /usr/bin/docker-compose: Operation not permitted
कुआनब

4
@kuanb अगर यह कहता है कि अनुमति नहीं है तो सुनिश्चित करें कि यू को पूर्ण सूडो अधिकार मिले
हत्यारे

अभी संस्करण के लिए 1.7.0 पुराना है। Docs.docker.com/compose/install के अनुसार नया संस्करण 1.11.2 है। इसका मतलब यह है कि कर्ल -L github.com/docker/compose/releases/download/1.7.0/……uname -s - uname -m> के बजाय। / Docker-compose का उपयोग कर्ल -L github.com/docker-compose/releases/download/ करना चाहिए। १.११.२ /…uname -s - uname -m> ./docker-compose
युरी ज़ाल्तेस्की

1
सुनिश्चित करें कि GitHub रिलीज़ की ओर इशारा करने वाला लिंक पुराना नहीं है! की जाँच करें GitHub पर नवीनतम रिलीज़ । आप ब्राउज़र से नवीनतम फ़ाइल भी डाउनलोड कर सकते हैं, फिर बस ले जाएँ और इसके लिए निष्पादन योग्य अनुमति दें।
तात्यामेली

1
मैं अभी भी डॉकटर के बारे में सीख रहा हूं, लेकिन जैसा कि मैं समझता हूं कि डॉक-कंपोज को नए इंस्टाल के लिए इस्तेमाल नहीं किया जाना चाहिए, क्योंकि इसके सभी फीचर्स को मुख्य डॉकटर-क्ली के साथ docker stackऔर डॉकर्स झुंड में एकीकृत किया गया है । vsupalov.com/difference-docker-compose-and-docker-stack । हो सकता है कि इस उत्तर में उल्लेख किया जाए कि, जैसा कि यह Google पर पहली बार दिखाई दे रहा है जब
वह docker

40

मैं एक रास्पबेरी पाई 3 पर स्थापित कर रहा हूं, रास्पियन के साथ 8. कर्ल विधि मेरे लिए विफल हो गई ( line 1: Not: command not foundपूछने पर एक त्रुटि मिली docker-compose --version) और @ sunapi386 का समाधान थोड़ा आउट-डेटेड लग रहा था, इसलिए मैंने यह कोशिश की: जिसने काम किया:

पिछले प्रयासों से पहली साफ बातें:

sudo rm /usr/local/bin/docker-compose
sudo pip uninstall docker-compose

फिर आरपीआई पर इस गाइड री डूकर-कंपोज़ का पालन करें :

sudo apt-get -y install python-pip
sudo pip install docker-compose

मेरे लिए (1 नवंबर 2017 को) निम्नलिखित प्रतिक्रिया में यह परिणाम है docker-compose --version:

docker-compose version 1.16.1, build 6d1ac219

6
आपका समाधान पूरी तरह से काम करता है! यदि आपको डॉकटर-कम्पोज़ के नवीनतम संस्करण की आवश्यकता नहीं है, तो आप भी उपयोग कर सकते हैं apt-get install docker-compose। बेशक, इसके लिए यह आवश्यक है कि आप अपने apt's के सूत्रों में docker रिपॉजिटरी को जोड़ दें। सूची (get.docker.com से इंस्टॉल स्क्रिप्ट आपके लिए यह स्वचालित रूप से कार्य करती है)। हालांकि, रास्पियन स्ट्रेच लाइट के साथ मेरे रास्पबेरी पाई 3 पर यह वास्तव में एक पुराना संस्करण था docker-compose version 1.8.0, build unknown:। यह संस्करण इतना पुराना है कि यह केवल डॉकटर-कम्पोज़ फ़ाइल प्रारूप के संस्करण 2 का समर्थन करता है।
रॉबर्ट

बहुत बढ़िया इसने मुझे डॉक-कंप्स एरर पाने में मदद की। धन्यवाद
लेजर हॉक

1
मुझे कुछ परेशानियाँ हुईं और उन्होंने डॉकटर-कम्पोज़ के लिए 'एप्ट पर्ज' और 'पाइप अनइंस्टॉल' का इस्तेमाल किया और फिर से फिर से स्थापित किया (निश्चित रूप से अगर एक या दोनों नहीं), लेकिन समाधान का महत्वपूर्ण हिस्सा भी था: पाइप इंस्टॉल - डोगर-पी
mirek

उत्तम! बिना किसी कर्ल, चामॉड और वर्जन चेकिंग के। बस स्वचालित रूप से अंतिम संस्करण स्थापित करें। उत्तर के रूप में अवगत होना चाहिए।
चेरी

डॉकटर-कंपोज़ को स्थापित करने के लिए पाइप का उपयोग करते समय त्रुटियों की एक टन मिला। यदि आप भी ऐसा करते हैं, तो इस उत्तर का प्रयास करें stackoverflow.com/a/43012312/430773
Vik

10

मैं रास्पबेरी ओएस पर एक रास्पबेरी पाई 3 पर स्थापित कर रहा हूं। curlविधि एक वैध प्रतिक्रिया करने के लिए समाधान नहीं किया। इसने यह भी कहा {error: Not Found}, मैंने URL पर एक नज़र डाली https://github.com/docker/compose/releases/download/1.11.2/docker-compose-Linux-armv7lऔर यह मान्य नहीं था। मुझे लगता है कि वहाँ कोई निर्माण नहीं था।

इस गाइड https://github.com/hypriot/arm-compose ने मेरे लिए काम किया।

sudo apt-get update
sudo apt-get install -y apt-transport-https
echo "deb https://packagecloud.io/Hypriot/Schatzkiste/debian/ jessie main" | sudo tee /etc/apt/sources.list.d/hypriot.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F
sudo apt-get update
sudo apt-get install docker-compose

9

यदि आपने अपनी रिपॉजिटरी सूची में आधिकारिक रिपॉजिटरी को जोड़कर डॉकटर स्थापित किया है , जैसे:

curl -L https://nightly.odoo.com/odoo.key | apt-key add -
sudo echo "deb http://nightly.odoo.com/10.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
sudo apt-get update && sudo apt-get install odoo

बस करो:

$ sudo apt-get install docker-compose

RHEL आधारित डिस्ट्रो / फेडोरा के मामले में:

$ sudo dnf install docker-compose

1
Apt get --even को docker CE के लिए निर्दिष्ट रिपॉजिटरी को जोड़ने के बाद, केवल docker-compose1.8 में समाहित लगता है , जो कि docker-compose.ymlसंस्करण 2 की अधिकतम फ़ाइल के साथ संगत है । दूसरे शब्दों में, वे अब डिफ़ॉल्ट रिपॉजिटरी या अपने स्वयं के docker-composeलिए प्रकाशित नहीं कर रहे apt-getहैं- रिपॉजिटरी प्राप्त करें। नए संस्करण प्राप्त करने के लिए ऐसा लगता है जैसे आपको उपयोग करने की आवश्यकता है pip। यह मुझे गुस्सा दिलाता है, क्योंकि इसकी वस्तुतः एकमात्र ऐसी चीज है जिसके लिए मैं पाइप का उपयोग कर रहा हूं।
ग्रोस्तव

5

सबसे पहले यह जांचें कि क्या डॉकटर-कंपोज स्थापित है,

$ docker-compose -v

यदि यह स्थापित नहीं है, तो कृपया स्थापना मार्गदर्शिका https://docs.docker.com/compose/install/ देखें। यदि स्थापित है तो बाइनरी के लिए निष्पादन योग्य अनुमति दें।

$ chmod +x /usr/local/bin/docker-compose

जाँच करें कि क्या यह काम करता है।


5

मैं डेबियन पर हूं, मुझे ऐसा करने के लिए कुछ स्वाभाविक मिला:

apt-get install docker-compose

और इसने काम किया (सेंटो पर परीक्षण नहीं किया गया)


1

ऊपर दिए गए उत्तरों के लिए संदर्भित (मेरे पास अलग-अलग समाधानों के लिए अलग से उल्लेख करने के लिए पर्याप्त प्रतिष्ठा नहीं है, इसलिए मैं इस जगह इस सामूहिक रूप से करता हूं), मैं उन्हें कुछ महत्वपूर्ण सुझावों के साथ पूरक करना चाहता हूं:

  1. docker-compose आप रिपॉजिटरी से इंस्टॉल कर सकते हैं (यदि आपके पास रिपॉजिटरी में यह पैकेज है, यदि आप इस पैकेज के साथ रिपॉजिटरी को सिस्टम में नहीं जोड़ सकते हैं) या प्रोजेक्ट के आधिकारिक वेबसाइट पर उपयोग कर्ल - टोटोरिअल के साथ बाइनरी डाउनलोड करें - src: https://docs.docker.com/compose/install /

  2. doos-compos भंडार से संस्करण 1.8.0 में है (कम से कम मुझ पर)। यह डॉकटर-कम्पोज़ संस्करण 3 में कॉन्फ़िगरेशन फ़ाइलों का समर्थन नहीं करता है। इसमें केवल संस्करण = <2 समर्थन है। परियोजना की आधिकारिक साइट में संस्करण 3 में कंटेनर विन्यास का उपयोग करने के लिए एक सिफारिश है - src: https://docs.docker.com/compose/compose-file / compose-versioning /। डॉक में काम के साथ अपने स्वयं के अनुभव से मैं संस्करण 3 में कंटेनर कॉन्फ़िगरेशन का उपयोग करने की सलाह देता हूं - संस्करण 3 की तुलना में उपयोग करने के लिए अधिक कॉन्फ़िगरेशन विकल्प हैं। यदि आप संस्करण 3 में कॉन्फ़िगरेशन कॉन्फ़िगरेशन का उपयोग करना चाहते हैं, तो आपको कम से कम 1.17 के संस्करण में अपडेट / इंस्टॉल डॉक-कंपोज करना होगा - अधिमानतः नवीनतम स्थिर। परियोजना की आधिकारिक साइट इस प्रक्रिया को करने का योग है - src:https://docs.docker.com/compose/install/

  3. जब आप पुराने डॉकटर-कंपोजिट बायनेरिज़ को मैन्युअल रूप से निकालने का प्रयास करते हैं, तो आपके पास डिफ़ॉल्ट पथ में गुम फ़ाइल के बारे में जानकारी हो सकती है /usr/local/bin/docker-compose। मेरे मामले में, डॉकटर-कंपोज़ डिफ़ॉल्ट पथ / usr / bin / docker-compose में था। इस मामले में, मेरा सुझाव है कि आप अपने सिस्टम में बाइनरी फ़ाइल डॉकटर-कंपोज - उदाहरण वाक्यविन्यास खोजने के लिए खोज उपकरण का उपयोग करें sudo find / -name 'docker-compose'। इसने मेरी मदद की। इसके लिए धन्यवाद, मैंने पुराने डॉक-कम्पोज़ संस्करण को हटा दिया और सिस्टम में स्थिर जोड़ दिया - मैं बाइनरी फ़ाइल डॉकटर-कम्पोज को डाउनलोड करने के लिए कर्ल टूल का उपयोग करता हूं, इसे सही रास्ते में डालता हूं और इसे सही अनुमति देता हूं - यह सब प्रक्रिया है ऊपर के पदों में वर्णित किया गया है।

सादर, एडम


0

डॉकटर स्थापित करने का मतलब यह नहीं है कि आपने डॉकटर-कंपोज स्थापित किया है। इसमें पूर्वापेक्षाएँ हैं कि आपने पहले से ही डॉक इंजन स्थापित कर लिया है जो आपने किया है। उसके बाद आप Centos 7 के लिए इस लिंक का अनुसरण करते हुए docker-compose इंस्टॉल कर सकते हैं ।


नहीं, मैंने उस कमांड "yum install docker-engine" को चलाया था, लेकिन मुझे एरर मिलता है पैकेज docker-engine-1.11.0-1.el7.centos.x86_64 पहले से इंस्टॉल और लेटेस्ट वर्जन और फिर भी कोई डॉकटर-कंपोज नहीं करता है जो आपको कोई त्रुटि देता है / usr / स्थानीय / बिन / docker- रचना: पंक्ति 1: {त्रुटि: नहीं मिली}: कमांड नहीं मिली
mahen3d

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

0

docker-compose वर्तमान में एक उपकरण है जो docker (-engine) का उपयोग करता है, लेकिन docker के वितरण में शामिल नहीं है।

यहाँ अधिष्ठापन मैनुअल का लिंक दिया गया है: https://docs.docker.com/compose/install/

टी एल; डॉ:

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/bin/docker-compose

(1.8.0 भविष्य में बदल जाएगा)



0

उपरोक्त समाधान मेरे लिए काम नहीं किया। लेकिन मैंने पाया कि यह काम किया:

sudo apt-get update -y && sudo apt-get install -y python3-pip python3-dev
sudo apt-get remove docker docker-engine docker.io
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo pip3 install docker-compose
#sudo docker-compose -f docker-compose-profess.yml pull ofw
sudo usermod -a -G docker $USER
sudo reboot

0

लिनक्स पर, आप GitHub पर कम्पोज रिपॉजिटरी रिलीज़ पेज से डॉकर कम्पोज़ बाइनरी डाउनलोड कर सकते हैं। लिंक से निर्देशों का पालन करें, जिसमें बायनेरी डाउनलोड करने के लिए अपने टर्मिनल में कर्ल कमांड को चलाना शामिल है। ये चरण-दर-चरण निर्देश भी नीचे शामिल हैं।

1: डॉकर कम्पोज़ की वर्तमान स्थिर रिलीज़ को डाउनलोड करने के लिए इस कमांड को चलाएँ:

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Compose के एक अलग संस्करण को स्थापित करने के लिए, जिस कंपोज़ का आप उपयोग करना चाहते हैं उसके संस्करण के साथ 1.26.2 स्थानापन्न करें।

2: बाइनरी के लिए निष्पादन योग्य अनुमतियां लागू करें:

sudo chmod +x /usr/local/bin/docker-compose

नोट: यदि इंस्टॉलेशन के बाद कमांड डॉकटर-कंपोज़ विफल हो जाता है, तो अपना पथ जांचें। आप अपने रास्ते में / usr / bin या किसी अन्य निर्देशिका के लिए एक प्रतीकात्मक लिंक भी बना सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.