Docker-CE और docker-ee के संबंध में docker.io क्या है?


119

पहले, docker स्थापित करने के लिए मैं उपयोग करूँगा

apt-get install docker.io

हालांकि, मैंने हाल ही में डॉकटर को स्थापित करने के लिए प्रलेखन पर ध्यान दिया है, और यह डॉक-सीई का उपयोग करता है। मैंने दोनों के बीच अंतर खोजने की कोशिश की है, लेकिन खाली हो गया हूं। Docker-CE के संबंध में docker.io क्या है?


1
@zerkms मैं भ्रमित था क्योंकि आधिकारिक docker वेबसाइट में docker.io का कोई उल्लेख नहीं है। क्या यह मूल्यह्रास है?
विल पार्जबोक

1
docker.ioपैकेज को ubuntu डेवलपर्स द्वारा बनाए रखा गया है। उबंटू डेवलपर्स "आधिकारिक docker वेबसाइट" से संबद्ध नहीं हैं। तो तथ्य यह है कि docker वेबसाइट इसका उल्लेख नहीं करती है, इसका मूल रूप से कुछ भी नहीं है।
ज़र्क

1
@zerkmsIs docker.io अप टू डेट हालांकि?
विल पार्बोक

1
जाँच करें और देखें? packages.ubuntu.com/...
zerkms

यह अब पूरी तरह से फिर से काम करता है!
thoni56

जवाबों:


73

डॉकर बाइनरी के पुराने संस्करणों को डोकर या डूकर-इंजन या डोकर-आईओ कहा जाता था

docker-io पैकेज अभी भी डेबियन / Ubuntu द्वारा अपने आधिकारिक रिपॉज पर प्रदान किए गए docker के रिलीज के लिए उपयोग किया जाने वाला नाम है ।

docker-ce एक प्रमाणित रिलीज़ है जो सीधे docker.com द्वारा प्रदान की जाती है और इसे स्रोत से भी बनाया जा सकता है ।

डेबियन / उबंटू प्लेटफॉर्म पर docker-io नाम का उपयोग करने का मुख्य कारण docker सिस्टम-ट्रे बाइनरी के साथ एक नाम संघर्ष से बचने के लिए था।

http://manpages.ubuntu.com/manpages/precise/man1/docker.1.html

डॉकर का एक उद्यम संस्करण (ईई) और एक मुक्त समुदाय संस्करण संस्करण (सीई) है

डॉकर कम्युनिटी एडिशन (docker.com से docker-CE) स्थापित करने से पहले आपको पुराने बायनेरिज़ को हटाने की आवश्यकता हो सकती है।

CentOS / RHL:

https://docs.docker.com/engine/installation/linux/docker-ce/centos/

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Ubuntu / डेबियन:

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/

$ sudo apt-get remove docker docker-engine docker.io containerd runc

Ubuntu पर ड्राई-रन की तुलना:

$ sudo apt-get install docker.io --dry-run
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  bridge-utils cgroupfs-mount containerd pigz runc ubuntu-fan
Suggested packages:
  ifupdown aufs-tools debootstrap docker-doc rinse zfs-fuse | zfsutils
The following NEW packages will be installed:
  bridge-utils cgroupfs-mount containerd docker.io pigz runc ubuntu-fan
0 upgraded, 7 newly installed, 0 to remove and 70 not upgraded.
Inst pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Inst bridge-utils (1.5-15ubuntu1 Ubuntu:18.04/bionic [amd64])
Inst cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Inst runc (1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst containerd (1.2.6-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst docker.io (18.09.7-0ubuntu1~18.04.4 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst ubuntu-fan (0.12.10 Ubuntu:18.04/bionic [all])
Conf pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Conf bridge-utils (1.5-15ubuntu1 Ubuntu:18.04/bionic [amd64])
Conf cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Conf runc (1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf containerd (1.2.6-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf docker.io (18.09.7-0ubuntu1~18.04.4 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf ubuntu-fan (0.12.10 Ubuntu:18.04/bionic [all])

$ sudo apt-get install docker-ce --dry-run
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  aufs-tools cgroupfs-mount containerd.io docker-ce-cli libltdl7 pigz
The following NEW packages will be installed:
  aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli libltdl7 pigz
0 upgraded, 7 newly installed, 0 to remove and 70 not upgraded.
Inst pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Inst aufs-tools (1:4.9+20170918-1ubuntu1 Ubuntu:18.04/bionic [amd64])
Inst cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Inst containerd.io (1.2.10-3 Docker CE:bionic [amd64])
Inst docker-ce-cli (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Inst docker-ce (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Inst libltdl7 (2.4.6-2 Ubuntu:18.04/bionic [amd64])
Conf pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Conf aufs-tools (1:4.9+20170918-1ubuntu1 Ubuntu:18.04/bionic [amd64])
Conf cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Conf containerd.io (1.2.10-3 Docker CE:bionic [amd64])
Conf docker-ce-cli (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Conf docker-ce (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Conf libltdl7 (2.4.6-2 Ubuntu:18.04/bionic [amd64])

डोकर-ce बाइनरी नवीनतम संस्करण हो सकता है और डोकर-ce-CLI शामिल करने के लिए करते हैं।


1
@ इवोल्म आपका बहुत बहुत धन्यवाद, इसलिए नए लोगों में से एक पर docker.io का उपयोग करना मूर्खतापूर्ण होगा?
विल Parbbok

3
@WillParzybok सही है। डेबियन या उबंटू के अपने संस्करण के आधार पर आपको नए सीई संस्करण को स्थापित करने और पुराने संस्करण बायनेरिज़ को हटाने में सक्षम होना चाहिए
lvolmar

2
Ubuntu 19.04 में, docker.io संस्करण docker-ce (18.09.5 v। 18.06.3) से थोड़ा आगे है। विक्रेता रिलीज़ और ppas आमतौर पर Ubuntu के रिलीज़ से आगे हैं। टिप्पणियों की सराहना करते हैं कि क्या io पर CE का उपयोग करने की सलाह अभी भी लागू होती है।
रीस

7
2019-मई -21 भ्रमित ... उबुन्टु 18.04 पर क्या उपयोग करें? apt-get install docker.ioडॉक-सी को स्थापित करने के लिए 10 कदम या अधिक करने की तुलना में बहुत अधिक आरामदायक दिखता है :(
Wlad

1
बस किया apt install docker.ioऔर मिल गया Docker version 18.09.2, build 6247962... तो क्या docker-ce के साथ सौदा है? मैं उबुन्टू मुझे देता हूं।
व्लाद

120

डॉक-सीआर से सावधान रहें

स्वीकृत उत्तर अंडर कॉम्प्लेक्स है।

docker-cedocker.com द्वारा प्रदान किया गया है, docker.ioडेबियन द्वारा प्रदान किया गया है।

सतह पर, इसका मतलब है कि आप राइटअवे स्थापित कर सकते हैं docker.io, जबकि आपके लिए docker-cedocker.com से पहले एक बाहरी रिपॉजिटरी संलग्न करना होगा।

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

  • docker.ioक्या यह डेबियन (या उबंटू) तरीका है: प्रत्येक बाहरी निर्भरता एक अलग पैकेज है जिसे स्वतंत्र रूप से अपडेट किया जा सकता है।
  • docker-ceइसे गोलंग तरीके से करता है: निर्माण से पहले सभी निर्भरताएं स्रोत के पेड़ में खींच ली जाती हैं और पूरी चीज बाद में एक एकल पैकेज बनाती है। इसलिए आप हमेशा अपने सभी निर्भरता के साथ एक ही बार में डॉकटर अपडेट करें।

बाद के दृष्टिकोण के साथ समस्या यह है कि यह डेबियन / उबंटू के लिए बहुत कुछ करने की कोशिश करता है।

अगर हर कोई इसे करता है जिस तरह docker-ceसे ...

... आपके सिस्टम पर कई पुस्तकालयों के 174 संस्करण होंगे, जो न केवल बहुत अधिक मेमोरी का उपभोग करते हैं, वे यह तय करना भी अनिवार्य रूप से असंभव बनाते हैं कि क्या आपके पास लाइब्रेरी XYZ का संस्करण 7.6.5 उस भयानक सुरक्षा भेद्यता के बीच कहीं है उन्हें।
अकेले उस भेद्यता को बंद कर दें (या आपके पास उसके सभी 109 उदाहरण हैं)।

इससे भी बदतर, 174 संस्करणों में से एक XYZ का संस्करण 5.4.3 तीन साल पहले होने की संभावना है, जो एक और था, बहुत अलग, लेकिन सुरक्षा भेद्यता के अंतराल के रूप में दुनिया लंबे समय से भूल गई है लेकिन अभी भी खुशी से मौजूद है आपके सिस्टम पर।

कुछ टिप्पणी:

  • कई वेब पेज docker.io"आउटडेटेड" कहते हैं। ऐसा इसलिए है क्योंकि यह लगभग एक साल से अस्वस्थ था। अगस्त 2019 तक, अब ऐसा नहीं है।
  • मैंने आज यहां यह सब सीखा है और अब इसका उपयोग docker-ceकरने से स्विच करेगा docker.io- और संभवतः फिर कभी वापस नहीं जाता है।
  • एक कारण है कि डेबियन / उबंटू पैकेजिंग प्रणाली इतनी जटिल है। एक अच्छा कारण।

4
यह जवाब मेरे 2 नोड्स में docker-CE के बाद मिला, जबकि docker.io के साथ एक और नोड अटैच अपग्रेड के दौरान बच गया।
जिंसहाओ चेन

3
यह मुझे पसंदीदा डेबियन / उबंटू के docker.io पैकेज को प्रदान करता है। अधिक से अधिक यह सिर्फ एक apt installदूर है जबकि docker-CE के लिए मुझे हमेशा स्थापना चरणों को देखने के लिए डॉकर डॉक्स पर जाना होगा ।
व्लाद

2
आप docker.io का उपयोग करने के सुरक्षा निहितार्थों का उल्लेख करना चाह सकते हैं - जैसे ही यह रखरखाव से बाहर जाता है, तब तक आपको सुरक्षा पैच प्राप्त नहीं होंगे, और यहां तक ​​कि जब तक आप रख-रखाव करने वाले पर भरोसा नहीं करते, तब तक हर सुरक्षा पैच का सही तरीके से बैकअप नहीं मिलता है।
बेनी

2
डॉक-सी का एक फायदा यह है कि आपको एक प्रमाणित रिलीज मिलती है, आपको डॉकटर टीम का वादा मिलता है कि पैकेज बंडल निर्भरता के साथ काम करेगा। यदि आपके पास कोई समस्या है, तो संभवतः कम उंगली-संकेत है। क्या docker.io के डेबियन अनुचर यह प्रमाणित करते हैं कि सभी आश्रित पैकेजों के सबसे वर्तमान संस्करण पर docker चलता है? क्या डॉकटर टीम ने अपने परीक्षणों की पैकेजिंग के लिए एक अच्छा काम किया है जो किसी भी अन्य टीम को एक रिलीज प्रमाणित कर सकती है? यहां कोई "सर्वश्रेष्ठ" समाधान नहीं है, बस जोखिमों का एक संतुलन है, और आपको यह चुनना होगा कि आपके लिए कौन से जोखिम अधिक मायने रखते हैं।
बॉबीह

@ याकूब मैं सहमत हूँ, यह एक व्यापार है। बस docker.ioअपने उत्पादन सिस्टम में स्विच करने के लिए मत भूलना जिसमें कोई विकास गतिविधि नहीं है अगर और जब डॉकर इंकdocker-ce किसी अन्य कारण से अपडेट (या!) नियमित रूप से नाली बना रहा है। डेबियन की इस संबंध में एक ठोस प्रतिष्ठा है: भले ही docker.ioएक बार फिर से अपडेट मिलना बंद हो जाए, लेकिन कई पुस्तकालय अभी भी करेंगे।
लुत्ज प्रेचल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.