হোস্ট এবং অভ্যন্তরীণ ব্রিজ নেটওয়ার্ক উভয়ই ডকারের ধারককে সংযুক্ত করুন


14

আমি একটি প্রাইভেট ( --internal) ডকার নেটওয়ার্ক এবং পূর্বনির্ধারিত hostনেটওয়ার্কের মধ্যে একটি রাউটার হিসাবে ডকারের ধারক চালানোর চেষ্টা করছি । এর অর্থ ধারকটির দুটি নেটওয়ার্ক ইন্টারফেস থাকতে হবে: একটি "বাইরের" ইন্টারফেস, যা সমস্ত হোস্টের আইপি ঠিকানাগুলি অ্যাক্সেস করতে পারে এবং একটি "অভ্যন্তরীণ" ইন্টারফেস, যা অভ্যন্তরীণ ডকার নেটওয়ার্কের ধারকগুলির প্রবেশদ্বার হিসাবে কাজ করে one

রাউটারের ধারক নিজেই তারপরে কনটেইনারগুলি থেকে NAT নেটওয়ার্ক ট্র্যাফিক করবে।

এই দুটি ইন্টারফেসের সাহায্যে ধারক চালানোর জন্য ডকারকে কনফিগার করার কোনও উপায় আমি পাইনি। নিকটতম আমি পেতে পারি দুটি bridgeইন্টারফেস বরাদ্দ করা, যা আমার প্রয়োজন ঠিক তা নয়।

ম্যানুয়ালি সংযোগ দেওয়ার চেষ্টা করার ফলে একটি ত্রুটি হয়:

# docker network connect host root_router_1
Error response from daemon: Container cannot be disconnected from host network or connected to host network

কেউ আমাকে কীভাবে এটি অর্জন করতে পারে তা অগ্রাহ্যভাবে এমনকি ডকার কমপোজ ছাড়াও কীভাবে দেখাতে পারে?


দুর্ভাগ্যক্রমে আমরা সমস্ত পাত্রে সরাসরি হোস্ট নেটওয়ার্কের সাথে সংযোগ স্থাপন করে এবং ধারকগুলির ভিতরে আইপিগুলি কনফিগার করেছিলাম।
হেক্সাহোলিক

উত্তর:


2

গিথুব সম্পর্কিত এই প্রশ্নোত্তর অনুসারে :

হোস্ট নেটওয়ার্ক বিশেষ। আপনাকে নেটওয়ার্ক_মোড: পরিষেবাটিতে হোস্ট ব্যবহার করতে হবে


network_modeযদি আপনি একটি অভ্যন্তরীণ নেটওয়ার্কে এবং হোস্ট নেটওয়ার্কের সাথে সংযুক্ত কিছু প্রয়োজন কাজ করে না। উন্মাদ বলে মনে হচ্ছে যে আমরা এই সমস্যার কোনও ভাল পরিষ্কার সমাধান খুঁজে পাচ্ছি না।
jv-dev

2

ডকার একই সাথে কোনও ধারককে হোস্ট নেটওয়ার্ক এবং অন্য কোনও ডকার ব্রিজ নেটওয়ার্কের সাথে সংযোগ করার অনুমতি দেয় না। আমি একটি উদাহরণ দিয়ে কারণটি বর্ণনা করার চেষ্টা করব:

  • আসুন আমরা একটি ধারক সি 1 এর কথা চিন্তা করি। হাইপোথিটিক্যালি, সি 1 হোস্ট নেটওয়ার্কের সাথে সংযুক্ত হবে (- নেট = হোস্ট) এবং একটি ডকার ব্রিজ নেটওয়ার্ক ব্র 1 (- নেট = বি 1)।
  • একটি দ্বিতীয় ধারক, আসুন আমরা সি 2 বলি যে ব্রি 1 এর সাথে সংযুক্ত।

উপরের সেটআপের সাথে আমার অনুমান যে হোস্ট নেটওয়ার্ক সি 2 থেকে দৃশ্যমান, এবং আমি মনে করি যে ডকার স্বয়ংক্রিয়ভাবে হোস্ট নেটওয়ার্কটি অ-হোস্ট-নির্দিষ্ট কনটেইনারগুলিতে অনিচ্ছাকৃতভাবে আমাদের আটকাতে বাধা দেয়।

বলা হচ্ছে, যদি আমাদের কাছে ধারকগুলির একটি সেট থাকে এবং আমরা চাই যে হোস্ট নেটওয়ার্কে কেবলমাত্র একটি একক ধারক অ্যাক্সেসের সাথে সেগুলি সবগুলি পরস্পর সংযুক্ত হোক, তবে আমার পদ্ধতির বিষয়টি হবে:

  • [সি 2, ..., সিএন] একটি ব্যবহারকারী-সংজ্ঞায়িত ডকার ব্রিজ বি 1 (- নেট = বি 1) এর সাথে সংযুক্ত রয়েছে
  • সি 1 হোস্ট নেটওয়ার্কের সাথে সংযুক্ত (- নেট = হোস্ট)
  • বাকী পাত্রে থেকে অ্যাক্সেসযোগ্য হওয়ার জন্য সি 1 একটি বন্দর প্রকাশ করে

সম্পাদনা: আমাদের এখনও iptables নীতিগুলি এমনভাবে গ্রহণ করতে হবে যাতে বাকী পাত্রে থেকে সি 1 এ পৌঁছানো যায় ( https://docs.docker.com/network/iptables/ দেখুন )

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.