MySQL कार्यक्षेत्र को MySQL कंटेनर से कनेक्ट करें


9

मैंने Dockerhub से MySQL कंटेनर खींचा और यह मेरे मैकबुक प्रो पर चल रहा है, जैसा कि आप देख सकते हैं

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
12cd3deaa3f0        mysql:latest        "/entrypoint.sh mysql"   47 hours ago        Up 10 minutes       3306/tcp            mysqldb

फिर मैंने MySQL कार्यक्षेत्र डाउनलोड किया और मैंने इसे MySQL कंटेनर से जोड़ने का प्रयास किया, लेकिन यह काम नहीं करता है। यह कनेक्शन त्रुटि दिखाता है।

Your connection attempt failed for user 'root' from your host to server at 192.168.99.102:3306:
Can't connect to MySQL server on '192.168.99.102' (60)

Docker मशीन से IP है

docker-machine ip default
192.168.99.100

और MySQL से पोर्ट 3306 है जैसा कि आप ऊपर देख सकते हैं।

MySQL पोर्ट एक्सपोर्ट करने के लिए, मैंने स्टेटमेंट के साथ कोशिश की

docker run -d -P mysql:latest mysqldb

यह बिल्कुल काम नहीं करता है। मैं क्या गलत कर रहा हूं?

जवाबों:


9

ऐसा लगता है कि आपने -p 3306:3306पैरामीटर सेट किए बिना कंटेनर चला दिया । इसके अलावा, ऐसा लगता है कि आपने MySQL वर्कबेंच में होस्टनाम के आईपी पते को गलत समझा। मैं इन निर्देशों का पालन करके खरोंच से शुरू करने की सलाह देता हूं:

  1. Mysql सर्वर चलाएं। (पासवर्ड जिसे adminआप चाहते हैं उसे बदलें )

docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql

  1. डिफॉल्ट डॉक वर्चुअल मशीन का आईपी पता चलाकर चलाएं

docker-machine ip default

  1. IP पते को कॉपी करें जो आपको पिछले कमांड के परिणाम के रूप में मिलेगा। (आपके मामले में, यह 192.168.99.100 होना चाहिए)
  2. MySQL कार्यक्षेत्र खोलें और एक नया कनेक्शन बनाएं। उस आईपी पते को पेस्ट करें जिसे आपने "होस्टनाम" फ़ील्ड में कॉपी किया है।

आपको अब सभी सेट होना चाहिए।


1

पैरामीटर होस्ट के उपलब्ध पोर्ट के लिए स्वचालित रूप से -Pएक कंटेनर के निर्यातित बंदरगाहों को बांधता है ।

निम्नलिखित कमांड को मेजबान के 3306 पोर्ट के लिए कंटेनर पोर्ट 3306 को बांधना चाहिए। देखें: प्रकाशित करें या पोर्ट को उजागर करें

docker run -d -p 3306:3306 mysql:latest mysqldb

मैंने स्टेटमेंट टाइप किया है docker run -d -p 3306:3306 mysql:5.7.9 dbmysqlऔर आउटपुट के रूप में मुझे मिला है, d38a0f208bcda50132d7f6f679c9282b0d90b275610b8d19ac93bf82d94eea43लेकिन अभी भी mysql कंटेनर को mysql वर्कबेंच के साथ एक्सेस नहीं कर सकता। जब मैंने d6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
docker
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.