ডকার-ইন-ডকারকে খারাপ বিবেচনা করা হয় কেন?


21

অগস্ট ২০১৩ সালে জেরেম পেটাজনি ডকরে ডকার তৈরি করেছিলেন, dindসংক্ষেপে, এটি ডকারের ধারকগুলির ভিতরে ডকারের পাত্রে তৈরি করার অনুমতি দেয়, এই কার্যকারিতাটি খুব জনপ্রিয় প্রমাণিত হয়েছিল যার ফলে জেরুমের গিটহাব রিপোজিটরি এক হাজার তারকা এবং তিন শতাধিক কাঁটাচামচ পেয়েছিল।

ডকারের ১.৮ হিসাবে, দু'বছর পরে আগস্ট 2015 এ প্রকাশিত, ডকার ইন ডকারকে সরাসরি বক্সের বাইরে ডকারের দ্বারা সমর্থিত। তবে ডকারে ডকারের ব্যবহারটি একটি সতর্কবার্তা নিয়ে আসে, যা সম্ভবত জেরমের পোস্টের সাথে সম্পর্কিত : আপনার সিআই বা পরীক্ষার পরিবেশের জন্য ডকার-ইন-ডকার ব্যবহার করছেন? আবার ভাব. যা ডকার ইন ডকার ক্রমাগত একীকরণের জন্য সেরা পছন্দ নয় সে কারণগুলিকে কেন্দ্র করে।

কেন ডকারে ডকার ব্যবহার করা খারাপ বলে বিবেচিত হয়? কচ্ছপগুলি পুরোপুরি নিচে এড়ানো কেবল কি মামলা ? না পারফরম্যান্স বিবেচনা?

কচ্ছপ সারা পথ!


আমি ডকারের সাথে এটি পড়া ছাড়া অন্যদের সাথে পরিচিত নই। তবে এটি সম্পর্কে চিন্তা করে মনে হচ্ছে আপনার হার্ডওয়্যারটিতে হোস্ট ওএস রয়েছে, যে হোস্টটি একটি ধারক লোড করে, তারপরে সেই ধারকটি অন্য একটি লোড করে। অনেকটা ওভারহেডের মতো মনে হচ্ছে যেন একটি চিত্র স্থাপন করা হয়। একটি ছবির একটি ছবির চিত্র ... এছাড়াও এই q এর আসল উত্তরে আগ্রহী।
কোনও রিফান্ড নেই কোনও রিটার্নস

আপনি আপনার প্রশ্নের উত্তরের সাথে সংযোগ দিচ্ছেন ... বা আমি কিছু মিস করছি?
আনোই

উত্তর:


16

অবিচ্ছিন্ন একীকরণ সংক্রান্ত উদ্বেগ

সংক্ষেপে: ডকার ইন ডকার (ডিন্ড) সম্মতিটি ভালভাবে পরিচালনা করে না।

সিআই-এর জন্য আপনার ডিন্ড ব্যবহার না করার কারণ হ'ল ডকারটি স্টোরেজটির জন্য যে ডিরেক্টরিটি ব্যবহার করে (সাধারণত /var/lib/docker) এটি একচেটিয়া অ্যাক্সেসের জন্য তৈরি করা হয়েছিল । সমস্ত শিশু প্রক্রিয়াগুলি একই সাথে এই ডিরেক্টরিটি ব্যবহার করায় মন এটিকে সম্মান করে না। প্রতিবার আপনি পুনর্নির্মাণ করবেন (উদাহরণস্বরূপ সিআই থেকে), এই ডিরেক্টরিতে আপনার অ্যাপ্লিকেশন সম্পর্কিত কোনও কিছু মুছে ফেলা হতে পারে এবং শূন্য থেকে শুরু করতে বাধ্য হতে পারে। আপনার ব্যবহারকারীরা যদি তাদের অর্থ প্রদানের বিশদটি প্রবেশ করে, "ক্রয়" ক্লিক করেন এবং হঠাৎ লগইন স্ক্রিনে নিজেকে খুঁজে পেয়েছেন যেন তারা কিছুই করেন নি তবে কীভাবে এটি পছন্দ করবে? এটি ঠিক ভাল ইউএক্স নয়। দুটি পুনর্নির্মাণ একবারে ঘটবে? এটি সত্যই জড়িত প্রত্যেকের জন্য খারাপভাবে শেষ হতে চলেছে (আপনার ডেটা অখণ্ডতা সহ)।

অন্যান্য উদ্বেগ

ওপি পোস্ট করা লিঙ্কটি থেকে, সুরক্ষা উদ্বেগ উত্থাপিত হয়েছে কারণ সিস্টেমটি খুব "সিএসএস-জাতীয়" ফ্যাশনে সুরক্ষা নীতিগুলি প্রয়োগ করার চেষ্টা করবে যেখানে স্পষ্টভাবে নিষিদ্ধ না হলে নিম্ন পাত্রে বাইরের ধারকের সম্পদে অ্যাক্সেস থাকতে পারে। মনে রাখবেন আপনি কখন "মাইওয়েবসাইট.com/../another_folder/private_resource.txt" এর মতো কিছু করে ওয়েব সার্ভার সংস্থানগুলি অ্যাক্সেস করতে পারবেন? এছাড়াও, কখনও কখনও ফাইল সিস্টেমগুলি একে অপরের সাথে ভালভাবে খেলতে পারে না যখন তারা এইভাবে বাসা বেঁধে রাখে।

ঠিক করা

ধন্যবাদ, ওপিতে ব্লগ পোস্টে সমস্যার ভাল সমাধান রয়েছে। আপনার প্রয়োজনীয়তাগুলি "সিআই সিস্টেম থেকে নিজেই ডকারে চলমান" থেকে ডকের পাত্রে বিল্ড / রান / ধাক্কা দিয়ে না পূরণ করা হয় "আপনি ডকার সকেটে -vমোড (আপনার ধারকটিতে একটি ডেটা ভলিউম যুক্ত করুন) ব্যবহার করতে পারেন (সাধারণত /var/run/docker.sock:/var/run/docker.sock) এর ধরণের অনুমতি দেওয়ার জন্য আপনার "ভাগ করা" ডেটা ভলিউমে অ্যাক্সেস দরকার এই পাত্রে সিঙ্ক্রোনাস আইও জোর করে নীচে পরিবর্তে পিতামাতার পাশাপাশি শুরু করা হবে। এখন আপনার কাছে একই জিনিস (প্রায়) জঞ্জাল হিসাবে রয়েছে তবে ডকারের সাথে আসা ডাউনসাইডগুলি সম্মতিযুক্ত নয়।

তথ্যসূত্র (ওপি থেকে): আপনার সিআই বা পরীক্ষার পরিবেশের জন্য ডকার-ইন-ডকার ব্যবহার করছেন? আবার ভাব.


জেনকিন্সের জন্য বর্ণিত পদ্ধতির (ডুড) উদাহরণের একটি উদাহরণ, যদিও এটি ব্যবহার করার সময় বেশ কয়েকটি সমস্যা প্রতিবেদন করা হয়েছে hub.docker.com/r/psharkey/jenkins-dood
রোমবব ২

এই ব্যাখ্যা থেকে আমি এখনও সত্যিই বলতে পারি না যে আমার ক্ষেত্রে ডিন্ড এড়ানো উচিত কিনা ... আমার বিল্ড এজেন্ট একটি ডকার পাত্রে চালায়, এবং নিম্নলিখিতগুলি করেন: 1. Checkout repo.2. Start container & mount repo.3. Run some build-/test script inside container.এজেন্টের জন্য, কেবল কখনও একজন থাকে ' dind'- ধারক চলমান। এই ব্যবহারের ক্ষেত্রে কী এখনও সমস্যা রয়েছে?
হেলমেজো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.