AMWS (CE / EE अपडेट) के साथ AWS EC2 उदाहरण पर डॉकर कैसे स्थापित करें


28

AMI चलाने वाले AWS EC2 उदाहरण पर डॉकर को स्थापित करने का वर्तमान तरीका क्या है? हुई है डोकर एंटरप्राइज़ संस्करण की एक घोषणा और अब मुझे पता है कि अगर कुछ भी बदल दिया है। अब तक, मैं उपयोग कर रहा हूं yum install dockerऔर 1.12.6, build 7392c3b/1.12.6अभी (3/3/2017) पर डॉक वर्जन प्राप्त कर रहा हूं । हालांकि, GitHub पर डॉकर रिपॉजिटरी मुझे बताती है कि पहले से ही नए रिलीज़ हैं।

मैं आधिकारिक डोकर (पैकेज) भंडार नाम के एक पैकेज के बारे में याद docker-engineकी जगह dockerपहले कुछ समय और अब वे में पैकेज को विभाजित करने लगते हैं docker-ceऔर docker-ee, जहां उदाहरण के लिए "डोकर समुदाय संस्करण (डोकर सीई) रेड हैट एंटरप्राइज लिनक्स पर समर्थित नहीं है।" [ स्रोत ]

तो क्या यह अभी भी सही है कि एएमआई चलाने वाले ईसी 2 उदाहरणों पर नवीनतम स्थिर डॉकर संस्करण प्राप्त करने के लिए उपरोक्त का उपयोग करें या क्या मुझे पैकेज को कहीं और से खींचने की आवश्यकता है (और यदि ऐसा है तो सीई या ईई)?


2
क्या आपने डॉकर मानक स्थापित करने के बारे में AWS प्रलेखन पढ़ा? यदि ऐसा है तो इसका क्या हिस्सा काम नहीं करता है, या किन मुद्दों ने इसे संबोधित नहीं किया है? docs.aws.amazon.com/AmazonECS/latest/developerguide/…
टिम

सवाल यह है कि क्या मैं इसे इस तरह से जारी रख सकता हूं। जैसा कि पहले ही उल्लेख किया गया है कि यह मुझे 1.12 पर डॉक किए गए संस्करण को स्थापित करेगा जो पहले से ही एक है अगर नवीनतम स्थिर रिलीज (1.13, सीई / ईई से पहले) के पीछे अधिक मामूली संस्करण अपडेट नहीं हैं और मुझे आश्चर्य है कि यह सामान्य रिपॉजिटरी अपडेट देरी के कारण है या क्योंकि गाइड और पैकेज बस पुराना हो रहा है जिसे मेरे द्वारा किए जाने वाले कुछ प्रतिस्थापन कार्य की आवश्यकता है (जैसे किसी तरह अपने स्वयं के भंडार से डॉकर प्राप्त करना)। इसके अलावा नवीनतम EE घोषणा के बारे में जो कुछ बदल सकता है ...
mxscho

क्या एएमआई चल रहा है?
माइकल हैम्पटन

@Michael Hampton एचवीएम, अमेज़ॅन लिनक्स एएमआई 2016.09.1 ​​के लिए नवीनतम है।
mxscho

1
मुझे लगता है कि अमेज़ॅन इसे अपडेट करेगा जब वे इसके चारों ओर हो जाएंगे। हालाँकि आप जानते हैं कि किसी को भी किसी चीज़ के लिए अमेज़न लिनक्स का उपयोग नहीं करना चाहिए।
माइकल हैम्पटन

जवाबों:


44

डॉक को एडब्ल्यूएस एएमआई पर चलाने के लिए आपको नीचे दिए गए चरणों का पालन करना चाहिए (ये सभी मान रहे हैं कि आपके पास ईसी 2 उदाहरण पर ssh'd है)।

  1. अपने उदाहरण पर संकुल को अद्यतन करें

    [ec2-user ~]$ sudo yum update -y

  2. डॉकर स्थापित करें

    [ec2-user ~]$ sudo yum install docker -y

  3. डॉकर सेवा शुरू करें

    [ec2-user ~]$ sudo service docker start

  4. Do2 समूह में ec2-user जोड़ें ताकि आप sudo का उपयोग किए बिना Docker कमांड निष्पादित कर सकें।

    [ec2-user ~]$ sudo usermod -a -G docker ec2-user

फिर आपको बिना आवश्यकता के सभी डॉकटर कमांड चलाने में सक्षम होना चाहिए sudo। 4th कमांड चलाने के बाद मुझे बदलाव करने के लिए लॉगआउट और लॉग इन करने की आवश्यकता थी।


3
जैसा कि मैंने पहले ही प्रश्न में उल्लेख किया है, यह वास्तव में काम करता है, लेकिन डॉकर का एक पुराना संस्करण स्थापित करता है (05/28/2017 को अभी भी संस्करण 1.12.6)। जबकि मैं खुद अपने EC2 उदाहरणों के लिए उबंटू छवि पर स्विच कर चुका हूं, वास्तविक बात जो मैं जानना चाहता था कि एएमआई छवि पर डॉकर के वर्तमान संस्करणों में से एक को कैसे स्थापित किया जाए। क्योंकि वहाँ (कम से कम प्रश्न के समय) कोई स्पष्ट तरीका नहीं था कि या तो एक अप-टू-डेट डॉकर सीई या डॉकर ईई स्थापना प्राप्त करें। यही सवाल पहले स्थान पर था और यही कारण है कि मैं इसे बिना किसी हिचकिचाहट के स्वीकार नहीं कर सकता। वैसे भी शुक्रिया!
mxscho

@mxscho हाँ, यही वह चीज़ है जिसकी मैं तलाश कर रहा हूँ, इसलिए कृपया प्रतीक्षा करें जब तक कि एक उत्तर जो प्रश्न पोस्ट किया गया है, उसका जवाब न दे।
user239558

1
आज यम स्थापित किए गए इंस्टॉलेशन 17.03.1ce-1.50.amzn1
raarts

1
मेरे लिए काम नहीं किया। इसलिए मुझे ऐसा करने की जरूरत थी। sudo yum इंस्टॉल yum-utils, और फिर sudo yum-config-manager --enable rhui-REGION-rhel-server-extras, और फिर sudo yum install
docker

5

इस सब का पता लगाने के लिए सबसे कठिन हिस्सा कंटेनर-सेलिनक्स की आवश्यकता थी। बस http://mirror.centos.org/centos/7/extras/x86_64/Packages/ में नवीनतम संस्करण ढूंढें और पहले इंस्टॉल करें। इसके अलावा EC2 उदाहरणों में एक उचित एन्ट्रापी जनरेटर नहीं havegedहो सकता है इसलिए इसे स्थापित करने की आवश्यकता हो सकती है।

बाकी को https://docs.docker.com/install/linux/docker-ce/centos/ से ली गई है जिसमें हैवी और फायरवल्ड शामिल है। इन सभी को sudoउचित रूप से जड़ के रूप में किया जाना चाहिए ।

yum install -q -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm
yum install -q -y http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/haveged-1.9.1-1.el7.x86_64.rpm
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -q -y firewalld docker-ce
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --add-port=2376/tcp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --reload
systemctl enable haveged
systemctl start haveged
systemctl enable docker
systemctl start docker
setenforce 1

SELinux सक्षम संशोधित करके /etc/sysconfig/selinuxहोने के लिए

SELINUX=enforcing
SELINUXTYPE=targeted

फिर जारी करके अपने उदाहरण को रिबूट करें shutdown -r now

निष्पादन sudo docker versionइस पोस्टिंग के समय के रूप में प्राप्त करना चाहिए ...

ग्राहक:
 संस्करण: 18.03.0-सी.ई.
 एपीआई संस्करण: 1.37
 जाओ संस्करण: go1.9.4
 Git प्रतिबद्ध: 0520e24
 बिल्ट: बुध मार्च 21 23:09:15 2018
 OS / Arch: linux / amd64
 प्रायोगिक: असत्य
 आर्केस्ट्रा: झुंड

सर्वर:
 इंजन:
  संस्करण: 18.03.0-सी.ई.
  एपीआई संस्करण: 1.37 (न्यूनतम संस्करण 1.12)
  जाओ संस्करण: go1.9.4
  Git प्रतिबद्ध: 0520e24
  बिल्ट: बुध मार्च 21 23:13:03 2018
  OS / Arch: linux / amd64
  प्रायोगिक: असत्य

1
क्या आपने सेंटोस को छोड़कर किसी अन्य एएमआई पर डोकर चलाने की कोशिश की है? क्या आप अपने विस्तार को साझा कर सकते हैं?
सनकैचर

1
मैं एएमआई लिनक्स 2 का उपयोग करने वाले सेंटीमीटर एमी का उपयोग नहीं करता था। लिनक्स 1 बहुत पुराना है।
आर्किमिडीज ट्रेजानो

1
ठीक मिल गया। क्या CentOS repos का उपयोग आपने Amazon AMI के साथ पूरी तरह से संगत किया है?
Suncatcher

मैं वग्रांत का उपयोग करके विकास के लिए सेंटोस वीएम का उपयोग करता हूं, मुझे सिर्फ अपनी स्क्रिप्ट को अनुकूलित करना था ताकि यह लापता पैकेज के साथ काम करे।
आर्किमिडीज ट्रेजानो


2

प्रति https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html

वर्तमान अमेज़ॅन ECS- अनुकूलित AMI (amzn-ami-2017.09.j-amazon-ecs-अनुकूलित) में शामिल हैं:

  • अमेज़ॅन लिनक्स एएमआई का नवीनतम न्यूनतम संस्करण
  • अमेज़न ईसीएस कंटेनर एजेंट का नवीनतम संस्करण (1.17.2)
  • नवीनतम अमेज़ॅन ईसीएस कंटेनर एजेंट (17.12.0-सीई) के लिए डॉकर का अनुशंसित संस्करण
  • Amazon ECS एजेंट को चलाने और उसकी निगरानी करने के लिए ईकस-इनिट पैकेज का नवीनतम संस्करण (1.17.2-1)

आप इतिहास को https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html पर देख सकते हैं


0

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

https://registry.terraform.io/modules/trajano/swarm-aws/docker

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

क्योंकि मैं जो एक अमेज़ॅन प्रदान किया था उसका उपयोग कर रहा हूं, यह अब नवीनतम 18.09 संस्करण नहीं बल्कि 18.06 संस्करण है। हालाँकि, सेट अप सरल है और मुझे कंटेनर-सेलिनक्स तक कैच नहीं खेलना है।

केवल बाहरी निर्भरता जो मैं उपयोग करता है, ईपीईएल को प्राप्त करने के लिए है क्योंकि आपको अभी भी कुछ अनुप्रयोगों के लिए एक अच्छा यादृच्छिक स्रोत चाहिए।

मैंने स्पष्ट रूप से फ़ायरवॉल की स्थापना के बजाय AWS सुरक्षा समूहों पर भरोसा किया और AMI छवि में डिफ़ॉल्ट रूप से चयनित SELinux सेटिंग का उपयोग किया।

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