Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

एक MySQL डॉकर कंटेनर बनाना

<घंटा/>

डॉकर कंटेनरीकरण की सबसे महत्वपूर्ण विशेषताओं में से एक यह है कि यह सभी आवश्यक निर्भरताओं और स्थापित पैकेजों के साथ एप्लिकेशन को चलाने के लिए एक बाध्य वातावरण बनाता है। अधिकांश अनुप्रयोगों को डेटा बिंदुओं को संग्रहीत करने के लिए बैकएंड डेटाबेस की आवश्यकता होती है। Oracle कंटेनरों के अंदर MySQL चलाने के लिए Docker Images प्रदान करता है और इस प्रकार यह आपके डेटाबेस अनुप्रयोगों के परीक्षण के लिए एक उत्कृष्ट विकल्प बन जाता है। एक बार आपका परीक्षण पूरा हो जाने पर यह क्लीनअप सुविधाओं के साथ हल्के MySQL छवि उदाहरण प्रदान करता है।

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

इस लेख में, हम देखेंगे कि आपके एप्लिकेशन के परीक्षण के लिए MySQL डॉकर कंटेनर कैसे बनाएं।

MySQL के लिए डॉकर कंटेनर बनाना

नीचे दिया गया आदेश नवीनतम संस्करण के साथ MySQL छवि के लिए एक उदाहरण बनाता है और इसके साथ-साथ, −−rm ध्वज कंटेनर को बंद करने के बाद फ़ाइल सिस्टम के साथ कंटेनर को समाप्त करने में मदद करता है।

sudo docker run −−rm −−name=mysql−test −e MYSQL_ALLOW_EMPTY_PASSWORD=yes −d mysql/mysql−server

उपरोक्त कमांड में, −−rm फ्लैग डॉकर डेमॉन को कंटेनर फाइल सिस्टम को रोकने के बाद उसे हटाने का निर्देश देता है। −−नाम ध्वज कंटेनर को नाम प्रदान करता है। “−e MYSQL_ALLOW_EMPTY_PASSWORD=yes” कंटेनर को एक खाली रूट पासवर्ड बनाने का निर्देश देता है।

MySQL डॉकर कंटेनर का निष्पादन

MySQL क्लाइंट प्रोग्राम स्थानीय सॉकेट कनेक्शन का उपयोग करते हैं यानी वे लोकलहोस्ट के माध्यम से जुड़ते हैं। स्थानीय MySQL कनेक्शन बनाने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं।

sudo docker exec −it mysql−test mysql −uroot

कार्यकारी निर्देश डॉकर डेमॉन को डॉकर कंटेनर के अंदर निर्दिष्ट कमांड को निष्पादित करने के लिए कहता है। यह ध्वज डॉकर को एक इंटरैक्टिव शेल में कंटेनर खोलने का निर्देश देता है। डॉकर कंटेनर के अंदर निष्पादित होने वाला शेल कमांड "mysql −uroot" है।

TCP/IP का उपयोग कर क्लाइंट एक्सेस

पिछले चरणों में कमांड निष्पादित करने के बाद, डॉकर डॉकर कंटेनरों को एक निजी आईपी पता प्रदान करता है। यह आपके सिस्टम पर एक नेटवर्क इंटरफेस भी बनाता है। इनका उपयोग सेवा के लिए TCP/IP कनेक्शन बनाने के लिए समापन बिंदु के रूप में किया जा सकता है।

जब तक आप दो समापन बिंदुओं के बीच एक टीसीपी/आईपी कनेक्शन नहीं बनाते, तब तक आप MySQL सेवा तक नहीं पहुंच सकते। ऐसा करने के लिए, आपको अपने सिस्टम में वर्चुअल नेटवर्क इंटरफेस और डॉकर कंटेनर इंस्टेंस के लिए आईपी पते खोजने की जरूरत है। आप नीचे दिए गए आदेशों का उपयोग करके ऐसा कर सकते हैं।

अपने सिस्टम में नेटवर्क इंटरफ़ेस का IP पता खोजने के लिए, निष्पादित करें -

ip addr show docker0

उपरोक्त आदेश का उपयोग करके आपको प्राप्त होने वाला IP पता उन अंतिम बिंदुओं में से एक बन जाता है जिससे आपका क्लाइंट एप्लिकेशन कनेक्ट होगा और आप इसका उपयोग अपने MySQL के लिए उपयोगकर्ता बनाने के लिए करेंगे।

अन्य समापन बिंदु का पता लगाने के लिए, जो कि MySQL के लिए आपके डॉकर कंटेनर इंस्टेंस का IP पता है, आप इस कमांड का उपयोग कर सकते हैं -

sudo docker mysql−test

इन दो आईपी पतों का उपयोग करके, अब आप आगे बढ़ सकते हैं और अपना टीसीपी/आईपी कनेक्शन बना सकते हैं और अपने क्लाइंट एप्लिकेशन को चलाने के लिए एक उपयोगकर्ता बना सकते हैं।

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

अपने सिस्टम के टर्मिनल के अंदर, mysql-टेस्ट डॉकर कंटेनर को mysql शेल तक पहुंचने के लिए निष्पादित करें।

sudo docker exec −it mysql−test mysql −uroot

एक बार जब आप mysql शेल तक पहुंच जाते हैं, तो इसके अंदर अपने स्थानीय सिस्टम को रूट यूजर के रूप में बनाने के लिए इस कमांड को निष्पादित करें।

create user root@<virtual network interface IP> identified by '';

ध्यान दें कि उपरोक्त कमांड में उपयोग किया गया IP पता आपके स्थानीय मशीन के वर्चुअल नेटवर्क इंटरफ़ेस का होना चाहिए जो हमें पहले के चरणों में मिला था।

ऊपर बनाए गए उपयोगकर्ता को सभी एक्सेस प्रदान करने के लिए, इस कमांड का उपयोग करें।

grant all on *.* to root@<virtual network interface IP> with grant option;

अपने सभी परीक्षण करने के बाद ऑटो क्लीनअप करने के लिए, आप बस कंटेनर को रोक सकते हैं और स्टॉप का उपयोग करके इसे हटा सकते हैं। और आरएम आदेश।

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


  1. MySQL के साथ एक टेबल बनाना - हाइबरनेट

    एक टेबल बनाने के लिए, आपको application.properties - . में नीचे की लाइन डालनी होगी spring.jpa.hibernate.ddl-auto=update यहां, हाइबरनेट स्वचालित रूप से डेमो88 तालिका बनाएगा। application.properties कोड इस प्रकार है - spring.datasource.platform=mysqlspring.jpa.database-platform=org.hibernate.dialect.My

  1. डॉकर के लिए पायथन लाइब्रेरी एपीआई

    आप पाइथन लाइब्रेरी एपीआई का उपयोग करके डॉकटर ऑब्जेक्ट्स जैसे कंटेनर, इमेज, क्लस्टर, स्वार्म इत्यादि तक पहुंच, प्रबंधन और हेरफेर कर सकते हैं। आप बहुत कुछ कर सकते हैं जो docker कमांड आपको करने देता है। यह बहुत काम आता है जब आप django या फ्लास्क जैसे अजगर ऐप का उपयोग कर रहे हैं और आप उसी पायथन स्क्रिप्

  1. MongoDB को डॉकर कंटेनर के रूप में तैनात करें

    सबसे सुलभ NoSQL डेटाबेस में से एक, MongoDB® में कई उपलब्ध परिनियोजन विकल्प हैं। इस पोस्ट में, मैं MongoDB को एक कंटेनर के रूप में तैनात करने के लिए Docker® का उपयोग करता हूं और उस कंटेनर के साथ बातचीत करने के लिए शेल क्लाइंट का उपयोग करता हूं। परिचय अपने कंप्यूटर या सर्वर पर डॉकर स्थापित करने के बा