টিএল; ডিআর আপনার ভার্চুয়ালবক্স হোস্টের নেটওয়ার্ক মোডটি পরীক্ষা করে দেখুন - bridged
আপনি যদি স্থানীয় নেটওয়ার্কে ভার্চুয়াল মেশিনটি (এবং এটির হোস্ট ডকারের ধারক) চান তবে এটি হওয়া উচিত ।
মনে হচ্ছে আপনার কনফিউশনটি এইচটিটিপি এর মাধ্যমে আপনার অ্যাপ্লিকেশন অ্যাক্সেস করার জন্য কোন হোস্টের সাথে সংযোগ স্থাপন করতে পারে lies আপনার কনফিগারেশনটি কী তা আপনি সত্যই বানান করেন নি - আপনি আপনার ট্যাগগুলিতে "উইন্ডোজ" এবং "ভার্চুয়ালবক্স" পেয়েছেন তার উপর ভিত্তি করে আমি কিছু অনুমান করতে যাচ্ছি।
আমি অনুমান করছি যে উইন্ডোজ হোস্টে ভার্চুয়ালবক্সে লিনাক্সের কয়েকটি স্বাদে আপনার ডকার চলছে। আমি নীচে আইপি ঠিকানা লেবেল করতে যাচ্ছি:
D
= ডকারের ধারকটির আইপি ঠিকানা
L
ভার্চুয়ালবক্সে চলমান লিনাক্স হোস্টের আইপি ঠিকানা
W
= উইন্ডোজ হোস্টের আইপি ঠিকানা
আপনি যখন আপনার উইন্ডোজ হোস্টে আপনার গো অ্যাপ্লিকেশনটি চালান, আপনি http://W:8080/
নিজের স্থানীয় নেটওয়ার্কের যে কোনও জায়গা থেকে এটির সাথে সংযোগ করতে পারেন । এটি কাজ করে কারণ গো অ্যাপ্লিকেশনটি উইন্ডোজ মেশিনে 8080 বন্দরটি আবদ্ধ করে এবং যে কেউ আইপি ঠিকানায় 8080 বন্দরটি অ্যাক্সেস করতে চেষ্টা করে তারা W
সংযুক্ত হয়ে যায়।
এটি এখানে আরও জটিল হয়ে ওঠে এখানে:
ভার্চুয়ালবক্স, যখন এটি একটি ভার্চুয়াল মেশিন (ভিএম) সেট আপ করে, নেটওয়ার্কটিকে বিভিন্ন ধরণের মোডের মধ্যে একটিতে কনফিগার করতে পারে। বিভিন্ন বিকল্পগুলি কী কী তা আমি মনে করি না তবে আপনি যা চান তা তা bridged
। এই মোডে, ভার্চুয়ালবক্স আপনার স্থানীয় নেটওয়ার্কের সাথে ভার্চুয়াল মেশিনটিকে এমনভাবে সংযুক্ত করে যেমন এটি আপনার নেটওয়ার্কে প্লাগ ইন করা অন্য কোনও মেশিনের মতোই নেটওয়ার্কের একা একা মেশিন were ভিতরেbridged
মোড, ভার্চুয়াল মেশিন অন্য সব মেশিনের মতোই আপনার নেটওয়ার্কে উপস্থিত হয়। অন্যান্য মোডগুলি জিনিস আলাদাভাবে সেট আপ করে এবং মেশিনটি আপনার নেটওয়ার্কে দৃশ্যমান হবে না।
সুতরাং, ধরে নিই যে আপনি লিনাক্স হোস্টের জন্য সঠিকভাবে নেটওয়ার্কিং সেট আপ করেছেন ( bridged
), লিনাক্স হোস্টের আপনার স্থানীয় নেটওয়ার্কে একটি আইপি ঠিকানা থাকবে (192.168.0.x এর মতো কিছু) এবং আপনি এতে আপনার ডকারের ধারকটি অ্যাক্সেস করতে সক্ষম হবেন http://L:8080/
।
যদি লিনাক্স হোস্টটি অন্য কোনও মোডে সেট করা থাকে তবে bridged
আপনি সম্ভবত উইন্ডোজ হোস্ট থেকে অ্যাক্সেস করতে সক্ষম হওয়া, কিন্তু এই ঠিক কি মোড এটা এর উপর নির্ভর করে যাচ্ছে।
সম্পাদনা করুন - নীচের মন্তব্যের উপর ভিত্তি করে, এটি অনেকটা আমার উপরে বর্ণিত পরিস্থিতিটির মতো মনে হচ্ছে correct
আসুন কিছুটা ব্যাকআপ দিন: ডকার আমার কম্পিউটারে কীভাবে কাজ করে তা এখানে (উবুন্টু লিনাক্স)।
কল্পনা করুন আমি একই কমান্ড আপনি সঞ্চালন করুন: docker run -p 8080:8080 dockertest
। এটি যা করে তা dockertest
ইমেজের উপর ভিত্তি করে একটি নতুন ধারক শুরু করা এবং লিনাক্স হোস্টে (আমার পিসি) পোর্ট 8080 পাত্রে 8080 পোর্টে ফোরওয়ার্ড (সংযোগ) পোর্ট করা। ডকার ডেমনকে যোগাযোগ করার অনুমতি দেয় এবং ধারককে একে অপরের সাথে যোগাযোগ করার অনুমতি দেওয়ার জন্য ডকার তার নিজস্ব অভ্যন্তরীণ নেটওয়ার্কিং (আইপি ঠিকানাগুলির নিজস্ব সেট সহ) সেট আপ করে। সুতরাং মূলত আপনি এটি দিয়ে যা করছেন -p 8080:8080
তা ডকারের অভ্যন্তরীণ নেটওয়ার্কিংকে "বাহ্যিক" নেটওয়ার্কের সাথে সংযুক্ত করছে - যেমন। হোস্টের নেটওয়ার্ক অ্যাডাপ্টার - একটি নির্দিষ্ট বন্দরে।
এতদিন আমার সাথে? ঠিক আছে, এখন আসুন একটি পদক্ষেপ ফিরে আসুন এবং আপনার সিস্টেমটি দেখুন। আপনার মেশিনটি উইন্ডোজ চলছে - ডকারটি (বর্তমানে) উইন্ডোজে চলবে না, সুতরাং আপনি যে সরঞ্জামটি ব্যবহার করছেন তা ভার্চুয়ালবক্স ভার্চুয়াল মেশিনে একটি লিনাক্স হোস্ট সেটআপ করেছে। আপনি যখন docker run
আপনার পরিবেশটি করেন, ঠিক একই জিনিসটি ঘটে থাকে - লিনাক্স হোস্টের 8080 পোর্টটি ধারকটিতে 8080 পোর্টের সাথে সংযুক্ত থাকে। এখানে বড় পার্থক্যটি হ'ল আপনার উইন্ডোজ হোস্টটি লিনাক্স হোস্ট নয় যার উপর কনটেইনারটি চলছে, সুতরাং এখানে আরও একটি স্তর রয়েছে এবং এটি এই স্তরটি জুড়েই যোগাযোগ করুন যেখানে আপনি সমস্যায় পড়ছেন।
আপনার যা প্রয়োজন দুটি জিনিসগুলির মধ্যে একটি:
ভার্চুয়ালবক্স ভিএম-তে 8080 পোর্টটি উইন্ডোজ হোস্টে 8080 পোর্টের সাথে সংযোগ স্থাপন করতে, যেমন আপনি ডকার কনটেইনারকে হোস্ট পোর্টের সাথে সংযুক্ত করেন।
bridged
উপরে বর্ণিত নেটওয়ার্ক মোডের সাথে আপনার স্থানীয় নেটওয়ার্কের সাথে ভার্চুয়ালবক্স ভিএমকে সরাসরি সংযুক্ত করতে ।
আপনি যদি প্রথম বিকল্পটিতে যান তবে আপনি উইন্ডোজ হোস্টের আইপি ঠিকানা বা হোস্টনাম http://W:8080
যেখানে W
রয়েছে সে ধারকটি অ্যাক্সেস করতে সক্ষম হবেন । আপনি যদি দ্বিতীয়টির জন্য নির্বাচন করেন, আপনি লিনাক্স ভিএম এর আইপি ঠিকানা বা হোস্টনাম http://L:8080
যেখানে থাকবেন সেই ধারকটি অ্যাক্সেস করতে সক্ষম হবেন L
।
সুতরাং এটি সমস্ত উচ্চ স্তরের ব্যাখ্যা - এখন আপনাকে ভার্চুয়ালবক্স ভিএম এর কনফিগারেশনটি কীভাবে পরিবর্তন করতে হবে তা নির্ধারণ করতে হবে। এবং এখানে আমি সত্যিই আপনাকে সহায়তা করতে পারি না - আপনি আপনার উইন্ডোজ মেশিনে এই সমস্ত কাজটি করার জন্য কোন সরঞ্জামটি ব্যবহার করছেন তা আমি জানি না এবং আমি উইন্ডোজটিতে ডকার ব্যবহারের সাথে মোটেই পরিচিত নই।
আপনি যদি ভার্চুয়ালবক্স কনফিগারেশন উইন্ডোতে যেতে পারেন তবে নীচে বর্ণিত পরিবর্তনগুলি করতে পারেন। একটি কমান্ড লাইন ক্লায়েন্টও রয়েছে যা ভিএমগুলিকে সংশোধন করবে, তবে আমি তার সাথে পরিচিত নই।
জন্য bridged
মোড (এবং এই সত্যিই সহজ পছন্দ), আপনার VM- র শাট ডাউন শীর্ষে 'সেটিংস "বোতামে ক্লিক করুন, এবং নেটওয়ার্ক মোড পরিবর্তন bridged
, তারপর VM- র পুনরায় আরম্ভ করুন এবং আপনারা ভালো আছেন যান। ভিএমকে আপনার স্থানীয় নেটওয়ার্কে ডিএইচসিপি এর মাধ্যমে একটি আইপি ঠিকানা বাছাই করা উচিত এবং সেই আইপি ঠিকানায় নেটওয়ার্কের অন্যান্য কম্পিউটারগুলিতে দৃশ্যমান হওয়া উচিত।