আমি বর্তমানে ডকার শেখার প্রক্রিয়ায় আছি (এটি উইন্ডোজ এবং লিনাক্সে ব্যবহার করে) এবং এমন একটি জিনিস আছে যা আমি বুঝতে পারি না এবং আমি মনে করি এটি একটি উদাহরণ দিয়ে আরও ভাল ব্যাখ্যা করা হয়েছে।
আমি একটি মাইএসকিউএল ধারক পোর্টগুলি প্রকাশ করি এবং তারপরে আমি মাইএসকিউএল ক্লায়েন্ট যেমন মাইএসকিউএল ওয়ার্কবেঞ্চের মাধ্যমে এটি সংযোগ করি। লিনাক্স / উবুন্টুতে আমি তার আইপি ঠিকানার মাধ্যমে একটি ধারকটির অভ্যন্তরে যে ডিবি চালিত হয় তার সাথে সংযোগ করতে সক্ষম হয়েছি যা আমি চালিয়ে যাচ্ছি:
docker inspect CONTAINER_NAME
এটি আমার কাছে সঠিক ধারণা দেয়, আমি এইভাবে কোনও সার্ভারে চলমান একটি ডাটাবেসের সাথে সংযোগ স্থাপন করব।
যাইহোক, উইন্ডোজ এ এই পদ্ধতির কাজ করে না। আমি আসলে localhost
ধারক আইপি পরিবর্তে সংযোগ করতে হবে। আমি বুঝতে পারি যে উইন্ডোজ কনটেইনারগুলি একটি লিনাক্স ভিএম এর ভিতরে চলছে তবে এই ক্ষেত্রে আমার সাথে এটির সাথে সংযোগ স্থাপনের জন্য ভিএম এর আইপি ঠিকানা ব্যবহার করা উচিত।
কেউ আমাকে ব্যাখ্যা করতে পারেন কেন এটি এভাবে কাজ করে? আমি এটি বুঝতে সংগ্রাম করছি (আমি এখনও জুনিয়র বিকাশকারী) এবং আমি বরং বুঝতে পারি এটি বিভিন্ন ওএসের জন্য কমান্ড / আইপি মুখস্ত করার চেয়ে কীভাবে কাজ করে।
localhost:3306
সাথে সংযোগ স্থাপন হচ্ছে[CONTAINER_NAME]:3306
। কিন্তু ডিফল্টরূপে মাইএসকিউএল যে কোন জায়গায় আবদ্ধ নয়0.0.0.0
মাধ্যমেbind-address: 0.0.0.0
এmy.cnf
কন্টেইনারে। অথবা মাইএসকিউএল এর ব্যবহারকারীর অনুমতিগুলিlocalhost
ওয়াইল্ডকার্ডের পরিবর্তে সংযুক্ত রয়েছে%
। আপনার ত্রুটির বার্তাটি ঠিক কী?