एएमआई (सीई / ईई अपडेट)के साथ एडब्ल्यूएस ईसी 2 इंस्टेंस पर डॉकर कैसे स्थापित करें

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

मुझे याद है कि आधिकारिक डॉकर (पैकेज) रिपॉजिटरी का नाम एक पैकेज है docker-engine की जगह docker कुछ समय पहले और अब वे पैकेज को विभाजित करने लगते हैं docker-ce और docker-ee है , जहां उदाहरण के लिए "गोदी श्रमिक समुदाय संस्करण (डोकर CE) पर समर्थित नहीं है Red Hat Enterprise Linux." [स्रोत]

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

प्राप्त करने के लिए डोकर पर चल रहे एडब्ल्यूएस अमी आप चाहिए निम्न चरणों का पालन करें (इन सभी कर रहे हैं, यह सोचते हैं आप ssh चाहते हैं पर करने के लिए EC2 के उदाहरण).

  1. अपने उदाहरण पर पैकेज अपडेट करें

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

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

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

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

    [ec2-user ~]$ sudo service docker start

  4. ईसी 2-उपयोगकर्ता को डॉकर समूह में जोड़ें ताकि आप सुडो का उपयोग किए बिना डॉकर कमांड निष्पादित कर सकें ।

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

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

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

बाकी से लिया जाता है https://docs.docker.com/install/linux/docker-ce/centos/ के अलावा के साथ haveged और firewalld. इन सभी को रूट के रूप में किया जाना है sudo उचित रूप से ।

yum install -q -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpmyum install -q -y http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/haveged-1.9.1-1.el7.x86_64.rpmyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install -q -y firewalld docker-cesystemctl enable firewalldsystemctl start firewalldfirewall-cmd --add-port=2377/tcp --permanentfirewall-cmd --add-port=2376/tcp --permanentfirewall-cmd --add-port=7946/tcp --permanentfirewall-cmd --add-port=7946/udp --permanentfirewall-cmd --add-port=4789/udp --permanentfirewall-cmd --zone=public --permanent --add-masqueradefirewall-cmd --reloadsystemctl enable havegedsystemctl start havegedsystemctl enable dockersystemctl start dockersetenforce 1

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

SELINUX=enforcingSELINUXTYPE=targeted

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

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

क्लाइंट: संस्करण: 18.03.0-सीई एपीआई संस्करण: 1.37 गो संस्करण: गो 1.1.4 गिट कमिट: 0520 ई 24 निर्मित: बुध मार्च 21 23:09:15 2018 ओएस/आर्क: लिनक्स/एएमडी 64 प्रायोगिक: गलत ऑर्केस्ट्रेटर: झुंड सर्वर: इंजन: संस्करण: 18.03.0-सीई एपीआई संस्करण: 1.37 (न्यूनतम संस्करण 1.12) गो संस्करण: गो 1.1.4 गिट कमिट: 0520 ई 24 निर्मित: बुध मार्च 21 23:13:03 2018 ओएस/आर्क: लिनक्स/एएमडी 64 प्रायोगिक: झूठा

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

वर्तमान अमेज़ॅन ईसीएस-अनुकूलित एएमआई (एएमजेएन-एएमआई-2017.09।जे-अमेज़ॅन-ईसीएस-अनुकूलित) में निम्न शामिल हैं:

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

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

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

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

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

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

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

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

क्या आपने डॉकर मानक स्थापित करने के तरीके पर एडब्ल्यूएस दस्तावेज पढ़ा है? यदि ऐसा है तो इसका कौन सा हिस्सा काम नहीं करता है, या किन मुद्दों को संबोधित नहीं करता है? Creating a container image for use on Amazon ECS - Amazon Elastic Container Service

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

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

क्या अमी चल रहा है?

माइकलहैम्प्टन एचवीएम, अमेज़ॅन लिनक्स एएमआई 2016.09.1 के लिए नवीनतम ।

अगर यह इस समस्या का वास्तविक समाधान है तो यह मुझे थोड़ा दुखी करता है । हालांकि संकेत के लिए धन्यवाद, मुझे अभी तक इस निष्कर्ष पर पहुंचने के लिए ईसी 2 के साथ बहुत अधिक अनुभव नहीं हुआ है । मैंने हमेशा सोचा कि एएमआई का उपयोग करना सबसे अच्छा है क्योंकि यह (होना चाहिए) ईसी 2 वर्चुअलाइजेशन से संबंधित सबसे अद्यतन और अनुकूलित छवि है ।

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

@ माइकलहैम्प्टन अमेज़ॅन लिनक्स ईसीएस उपयोग के लिए ठीक है । यह ईसीएस उपयोग के लिए पूर्व-कॉन्फ़िगर है, और अंतर्निहित ओएस उस मामले में ज्यादा मायने नहीं रखता है ।

@ माइकलहैम्प्टन `` किसी को भी किसी भी चीज़ के लिए अमेज़ॅन लिनक्स का उपयोग नहीं करना चाहिए ’ तो आप क्या प्रस्ताव करते हैं, सर?