यह राइट-अप MySQL को Docker Compose के साथ उपयोग करने की चरण-दर-चरण प्रक्रिया प्रदर्शित करेगा।
डॉकर कंपोज़ के साथ MySQL का उपयोग करने के चरण क्या हैं?
Docker Compose के साथ MySQL का उपयोग करने के लिए दिए गए चरणों का पालन करें:
- कम्पोज़ फ़ाइल बनाएँ और MySQL सेवाएँ सेट करें
- लिखें सेवाओं को प्रारंभ करें
- रनिंग कंटेनर देखें
- MySQL कंटेनर एक्सेस करें
- MySQL सर्वर से कनेक्ट करें
- MySQL कमांड चलाएँ
चरण 1: कंपोज़ फ़ाइल बनाएँ
विज़ुअल स्टूडियो कोड पर, पहले '' नाम की एक कंपोज़ फ़ाइल बनाएँ docker-compose.yml ” और इसमें MySQL सेवाएँ जोड़ें:
संस्करण: '3.8'
सेवाएं:
डीबी:
छवि: MySQL: नवीनतम
कंटेनर_नाम: mySqlCont
आज्ञा: --डिफ़ॉल्ट-प्रमाणीकरण-प्लगइन = mysql_native_password
पुनरारंभ करें: जब तक-रोका नहीं जाता
पर्यावरण:
MYSQL_USER: उपयोगकर्ता
MYSQL_ROOT_PASSWORD: मायपासवर्ड
MYSQL_PASSWORD: मायपासवर्ड
MYSQL_DATABASE: testdb
वॉल्यूम:
- माय-डीबी: / था / उदारीकरण / माई एसक्यूएल
बंदरगाहों:
- '3306:3306'
वॉल्यूम:
मेरी-डीबी:
उपरोक्त कोड में:
- ' संस्करण ” फ़ाइल द्वारा उपयोग किए जाने वाले डॉकर कम्पोज़ फ़ाइल स्वरूप के संस्करण को निर्दिष्ट करता है। हमारे मामले में, यह है ' 3.8 ”।
- ' सेवा ” उन सेवाओं को परिभाषित करता है जिन्हें डॉकर कंपोज़ के साथ चलाने की आवश्यकता होती है।
- ' डाटाबेस ” MySQL सेवा का नाम है।
- ' छवि ” छवि का उपयोग करने के लिए निर्दिष्ट करता है अर्थात, ' मायएसक्यूएल: नवीनतम ”।
- ' कंटेनर_नाम 'कंटेनर के नाम को परिभाषित करता है, अर्थात,' mySqlCont ”।
- ' आज्ञा 'कंटेनर में चलाने के लिए आदेश निर्दिष्ट करता है।
- ' पुनः आरंभ करें 'कंटेनर को स्वचालित रूप से पुनरारंभ करने के लिए सेट करता है जब तक कि इसे मैन्युअल रूप से बंद नहीं किया जाता है।
- ' पर्यावरण 'उपयोगकर्ता, रूट पासवर्ड, उपयोगकर्ता पासवर्ड, डेटाबेस इत्यादि जैसे MySQL कंटेनर के लिए पर्यावरण चर सेट करता है।
- ' संस्करणों 'नामक वॉल्यूम सेट अप करें' my-db ” डेटा को MySQL कंटेनर में बनाए रखने के लिए, भले ही कंटेनर हटा दिया गया हो।
- ' बंदरगाहों 'का उपयोग पोर्ट असाइन करने के लिए किया जाता है, अर्थात,' 3306:3306 ':
चरण 2: लिखें सेवा प्रारंभ करें
कंपोज़ फ़ाइल में परिभाषित MySQL सेवाओं को शुरू करने के लिए, दिए गए कमांड को निष्पादित करें:
docker-compose up -डी
चरण 3: रनिंग MySQL कंटेनर देखें
उसके बाद, MySQL कंटेनर चल रहा है या नहीं यह देखने के लिए दिए गए कमांड को टाइप करें:
डाक में काम करनेवाला मज़दूर पी.एस.
उपरोक्त आउटपुट इंगित करता है कि MySQL कंटेनर सफलतापूर्वक चल रहा है।
चरण 4: MySQL कंटेनर तक पहुँचें
अगला, निम्नलिखित कमांड का उपयोग करके इसके अंदर बैश शेल चलाने के लिए MySQL कंटेनर तक पहुँचें:
डाक में काम करनेवाला मज़दूर कार्यकारी -यह mySqlCont दे घुमा के
ऊपर दिए गए कमांड को निष्पादित करने के बाद, एक बैश शेल खुल जाता है, और उपयोगकर्ता रनिंग MySQL कंटेनर के भीतर कमांड को निष्पादित कर सकता है।
चरण 5: MySQL सर्वर से कनेक्ट करें
अब, नीचे सूचीबद्ध आदेश के माध्यम से MySQL डेटाबेस को रूट उपयोगकर्ता के रूप में कनेक्ट करें और अंतःक्रियात्मक रूप से पासवर्ड दर्ज करें:
माई एसक्यूएल -उरूट -पी
जैसा कि उपयोगकर्ता देख सकते हैं, MySQL शेल शुरू हो गया है।
चरण 6: MySQL कमांड चलाएँ
अंत में, MySQL कंटेनर में MySQL कमांड निष्पादित करें। उदाहरण के लिए, निष्पादित करें ' डेटाबेस दिखाएं; सभी मौजूदा डेटाबेस देखने के लिए आदेश:
डेटाबेस दिखाएं;
उपरोक्त स्क्रीनशॉट में, सभी उपलब्ध डेटाबेस देखे जा सकते हैं।
किसी विशेष डेटाबेस का चयन करने के लिए, 'टाइप करें' उपयोग <डेटाबेस-नाम>; ' आज्ञा:
टेस्टडीबी का प्रयोग करें;
इसके अलावा, डेटाबेस में एक नई तालिका बनाने के लिए, 'का उपयोग करें' तालिका तालिका_नाम बनाएं (स्तंभ 1 <डेटा प्रकार>, स्तंभ 2 <डेटा प्रकार>, स्तंभ 3 <डेटा प्रकार>); ' आज्ञा:
टेबल पर्सन बनाएं ( व्यक्ति आईडी int, FirstName varchar ( 255 ) , अंतिम नाम वर्चर ( 255 ) , सिटी वर्चर ( 255 ) ) ;
इसके अलावा, डेटाबेस में नव निर्मित तालिका देखने के लिए प्रदान की गई कमांड निष्पादित करें:
टेबल दिखाएं;
उपरोक्त आउटपुट ने प्रदर्शित किया है ' व्यक्तियों ' मेज़।
हमने डॉकर कंपोज़ के माध्यम से MySQL का सफलतापूर्वक उपयोग किया है।
निष्कर्ष
Docker के साथ MySQL का उपयोग करने के लिए, पहले Visual Studio कोड पर एक कंपोज़ फ़ाइल बनाएँ और MySQL सेवाएँ सेट करें। फिर, 'का उपयोग करके कंपोज़ सेवाओं को शुरू करें' डॉकर-कंपोज़ अप -डी ” आदेश दें और चल रहे कंटेनर को देखें। इसके बाद, MySQL कंटेनर को एक्सेस करें और MySQL सर्वर से कनेक्ट करें। अंत में, इसमें MySQL कमांड चलाएँ। इस राइट-अप में MySQL को Docker Compose के साथ उपयोग करने की प्रक्रिया का वर्णन किया गया है।