ডকার পাত্রে কীভাবে সুরক্ষা আপডেটগুলি পরিচালনা করবেন?


117

সার্ভারে অ্যাপ্লিকেশন স্থাপন করার সময়, সাধারণত অ্যাপ্লিকেশনটি নিজের সাথে কীভাবে বান্ডিল হয় এবং এটি প্ল্যাটফর্মটি (অপারেটিং সিস্টেম এবং ইনস্টলড প্যাকেজ) সরবরাহ করার জন্য কী প্রত্যাশা করে তার মধ্যে সাধারণত একটি বিভাজন রয়েছে। এর একটি বিষয় হ'ল প্ল্যাটফর্মটি অ্যাপ্লিকেশনটি থেকে স্বাধীনভাবে আপডেট করা যেতে পারে। উদাহরণস্বরূপ এটি কার্যকর যখন সম্পূর্ণ অ্যাপ্লিকেশনটি পুনর্নির্মাণ না করে প্ল্যাটফর্মের সরবরাহিত প্যাকেজগুলিতে সুরক্ষা আপডেটগুলি জরুরিভাবে প্রয়োগ করা দরকার।

অপারেটিং সিস্টেমে প্যাকেজগুলির আপডেট সংস্করণ ইনস্টল করার জন্য প্যাকেজ ম্যানেজার কমান্ড সম্পাদন করে securityতিহ্যগতভাবে সুরক্ষা আপডেটগুলি প্রয়োগ করা হয়েছে (উদাহরণস্বরূপ আরএইচইএলে "yum আপডেট")। তবে কনটেইনার প্রযুক্তির আবির্ভাবের সাথে যেমন ডকার যেখানে ধারক ইমেজগুলি প্রয়োজনীয়ভাবে অ্যাপ্লিকেশন এবং প্ল্যাটফর্ম উভয়ই বান্ডিল করে, সেখানে ধারক পাত্রে আপ টু ডেট ব্যবস্থা রাখার সাধারণ উপায় কী? হোস্ট এবং পাত্রে উভয়েরই নিজস্ব, স্বতন্ত্র, প্যাকেজগুলির সেট রয়েছে যা হোস্টে আপডেট এবং আপডেট করার দরকার হয় পাত্রে কোনও প্যাকেজ আপডেট করবে না। আরএইচইএল of এর প্রকাশের সাথে যেখানে ডকারের পাত্রে বিশেষত বৈশিষ্ট্যযুক্ত রয়েছে, কনটেইনারগুলির সুরক্ষা আপডেটগুলি পরিচালনা করার জন্য রেহ্যাটের প্রস্তাবিত উপায়টি কী তা শুনতে আকর্ষণীয় হবে।

কয়েকটি বিকল্প সম্পর্কে চিন্তাভাবনা:

  • হোস্টে প্যাকেজ পরিচালককে প্যাকেজ আপডেট করার ফলে পাত্রে প্যাকেজগুলি আপডেট হবে না।
  • আপডেট প্রয়োগের জন্য সমস্ত ধারক চিত্র পুনরায় জেনারেট করার পরে মনে হয় অ্যাপ্লিকেশন এবং প্ল্যাটফর্মের মধ্যে বিভাজন ভেঙে যাচ্ছে (প্ল্যাটফর্মটি আপডেট করার সাথে অ্যাপ্লিকেশন বিল্ড প্রক্রিয়াটি অ্যাক্সেসের প্রয়োজন যা ডকার চিত্রগুলি উত্পন্ন করে)।
  • চলমান প্রতিটি পাত্রে ভিতরে ম্যানুয়াল কমান্ডগুলি চালানো জটিল মনে হয় এবং পরের বার অ্যাপ্লিকেশন রিলিজ আর্টফ্যাক্টগুলি থেকে পাত্রে আপডেট হওয়ার পরে পরিবর্তনগুলি ওভাররাইট হওয়ার ঝুঁকিতে রয়েছে।

সুতরাং এই পদ্ধতির কোনওটিই সন্তোষজনক বলে মনে হয় না।


1
আমি এখন পর্যন্ত এটির জন্য সেরা ধারণাটি হল প্রকল্প পরমাণু । আমি মনে করি না যদিও এটি প্রাইম টাইমের জন্য বেশ প্রস্তুত।
মাইকেল হ্যাম্পটন

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

1
মিহা: আমি যা করতে পেরেছি তার সাথে এটি একই রকম লাগে। মূলত অবিচ্ছিন্নভাবে নতুন রিলিজ করার অংশ হিসাবে সমস্ত চিত্র পুনর্নির্মাণ এবং পুনর্নির্মাণ। এবং নতুন চিত্রগুলি ব্যবহার করে ধারকগুলি পুনরায় চালু করা হচ্ছে।
মার্কাস হলম্যান

1
সেরা উত্তর এখানে অনেক সাহায্য করে কোনো স্ক্রিপ্ট ঠিক কি জোহানেস Ziemke বলেন না প্রধান commandlines রয়েছে কারণ:
হাডসন সান্তোসের

আকর্ষণীয় প্রশ্ন। আমি নিজেই এটি সম্পর্কে অবাক। যদি আপনার কাছে একটি ডকার হোস্টে 20 টি অ্যাপ্লিকেশন চলছে, আপনাকে বেস চিত্রগুলি আপগ্রেড করতে হবে, পুনর্নির্মাণ এবং পুনরায় চালু করতে হবে! 20 টি অ্যাপ্লিকেশন এবং আপনি এমনকি জানেন না সুরক্ষা আপডেটগুলি সেগুলির সমস্তগুলিকে প্রভাবিত করেছে, বা তাদের মধ্যে কেবল একটি। সুরক্ষা আপডেট উদাহরণস্বরূপ কেবল লিপ্পংকে প্রভাবিত করলে আপনাকে অ্যাপাচি বলার জন্য চিত্র পুনর্নির্মাণ করতে হবে। সুতরাং আপনি অপ্রয়োজনীয় পুনর্নির্মাণ এবং পুনরায়
সূচনা

উত্তর:


47

একটি ডকার ইমেজ অ্যাপ্লিকেশন এবং "প্ল্যাটফর্ম" বান্ডিল করে, এটি সঠিক। তবে সাধারণত চিত্রটি একটি বেস চিত্র এবং প্রকৃত প্রয়োগের সমন্বয়ে গঠিত হয়।

সুতরাং সুরক্ষা আপডেটগুলি হ্যান্ডেল করার সাধারণ উপায়টি হল বেস চিত্রটি আপডেট করা, তারপরে আপনার অ্যাপ্লিকেশন চিত্রটি পুনর্নির্মাণ করুন।


3
ধন্যবাদ, এটি যুক্তিসঙ্গত বলে মনে হচ্ছে। কেবল এখনও প্ল্যাটফর্মটি আপডেট করার ইচ্ছা আছে যাতে কথা বলতে গেলে পুরো অ্যাপ্লিকেশনটিকে পুনরায় টেস্ট করতে হবে না (উদাহরণস্বরূপ একক বেস চিত্রের আপডেট হওয়ার কারণে 100 টি আলাদা অ্যাপ্লিকেশন চিত্র পুনর্নির্মাণের জন্য বিবেচনা করুন)। তবে সম্ভবত এটি একক চিত্রের অভ্যন্তরে সমস্ত কিছু একসাথে বান্ডিল করার ডকার দর্শনের সাথে অনিবার্য।
মার্কাস হলম্যান

3
@ ভালকো সিপুলি প্রক্রিয়াটি স্বয়ংক্রিয় করার জন্য আপনি সর্বদা একটি স্ক্রিপ্ট লিখতে পারেন।
dsljanus

ধারকটির অভ্যন্তরে কেন অ্যাপটি-আপগ্রেড, ডিএনএফ আপগ্রেড, প্যাকম্যান-সাইউ ইত্যাদি সমতুল্য নয়? আপনি এমন শেল স্ক্রিপ্টও তৈরি করতে পারেন যা এটি করে এবং তারপরে অ্যাপ্লিকেশনটি চালায়, তারপরে কনটেইনারটির প্রবেশপথ হিসাবে এটি ব্যবহার করুন যাতে ধারকটি শুরু করা / পুনরায় চালু করা হলে এটি তার সমস্ত প্যাকেজগুলিকে আপগ্রেড করে।
আর্থার কে

8
@ আর্থারকেয়ে দুটি কারণ: ১) আপনি ধারক আকারটি ফুটিয়ে তোলেন, যেহেতু আপগ্রেড হওয়া সমস্ত প্যাকেজগুলি ইমেজটিতে পুরানো প্যাকেজটি রাখার সময় ধারক স্তরে যুক্ত করা হবে। 2) এটি (ধারক) চিত্রগুলির সর্বাধিক সুবিধাটি পরাভূত করে: আপনি যে চিত্রটি চালান তা আপনি তৈরি / পরীক্ষাগুলির মতো নয় কারণ আপনি রানটাইমে প্যাকেজগুলি পরিবর্তন করেন।
জোহানেস 'ফিশ' জিমকে

7
আমি বুঝতে পারি না এমন একটি জিনিস রয়েছে: আপনি যদি এমন কোনও সফটওয়্যার কিনছেন যেটি কোনও ডকারের ধারক হিসাবে প্রেরণ করা হয়, তবে প্রতিবার কোনও সুরক্ষা সমস্যা প্রকাশিত হওয়ার পরে আপনাকে কী সফ্টওয়্যারটির প্রস্তুতকারকের জন্য অ্যাপ্লিকেশন প্যাকেজটি পুনর্নির্মাণের জন্য অপেক্ষা করতে হবে? ? কোন সংস্থা তাদের উন্মুক্ত দুর্বলতার উপর নিয়ন্ত্রণ ছেড়ে দিতে পারে?
সেন্তেনজা

7

ধারকগুলি হালকা ওজনের এবং বিনিময়যোগ্য বলে মনে হয়। যদি আপনার ধারকটির কোনও সুরক্ষা সমস্যা থাকে তবে আপনি ধারকটির এমন একটি সংস্করণ পুনর্নির্মাণ করেন যা নতুন ধারকটি প্যাচ করে এবং স্থাপন করে। (অনেকগুলি পাত্রে স্ট্যান্ডার্ড বেস ইমেজ ব্যবহার করা হয় যা স্ট্যান্ডার্ড প্যাকেজ ম্যানেজমেন্ট সরঞ্জামগুলি ব্যবহার করে তাদের নির্ভরতাগুলি ইনস্টল করার জন্য অ্যাপ্ট-গেটের মতো, পুনর্নির্মাণগুলি সংগ্রহস্থলগুলি থেকে আপডেটগুলি টানবে)

আপনি পাত্রে ভিতরে প্যাচ করতে পারে, এটি ভাল স্কেল যাচ্ছে না।



0

প্রথমত, আপনার অতীতে প্রচলিত যে আপডেটগুলি updatesতিহ্যগতভাবে চালিত হয়েছিল সেগুলির মধ্যে অনেকগুলি কেবল ধারকটির ভিতরেই থাকবে না। ধারকটি অতীতে দেখার অভ্যাসে পূর্ণ ফাইল সিস্টেমের মোটামুটি হালকা ও হালকা উপসেট হওয়া উচিত। আপনার যে প্যাকেজগুলি আপডেট করতে হবে সেগুলি হ'ল এটি আপনার ডকারফিলের একটি অংশ এবং আপনার ডকফায়াল হওয়ায় আপনার প্রয়োজনীয় প্যাকেজগুলি এবং ধারক আইডিগুলির আপডেট রাখতে হবে। ক্লাউডস্টেইনের ইউআই যা শীঘ্রই মুক্তি পাবে আপনার জন্য এই ডকারফিল উপাদানগুলি নজর রাখে যাতে কেউ তাদের পাত্রে সবচেয়ে ভাল ফিট করে এমন আপডেট স্কিম তৈরি করতে পারে। আশাকরি এটা সাহায্য করবে


-1

এটি আপনার দেওয়া তিনটি পছন্দের চেয়ে সাধারণত খারাপ। বেশিরভাগ ডকার চিত্রগুলি প্যাকেজ পরিচালকদের সাথে নির্মিত হয় না তাই আপনি কেবল ডকারের চিত্রটিতে শেল নিতে পারবেন না এবং আপডেট আপডেট করতে পারবেন না। হয় আপনাকে ডকার চিত্রটি পুনর্নির্মাণ বা পুনরুদ্ধার করতে হবে।

সুরক্ষা প্যাচগুলির জন্য আপনার পুনর্নির্মাণের প্রয়োজন বা অন্যকে পুনর্নির্মাণের বিষয়টি বেশিরভাগ ক্ষেত্রে অযৌক্তিক বলে মনে হয়।

আমি ডকার পাত্রে সোনার এবং রেডার স্থাপনের কথা বিবেচনা করছিলাম তবে আমার কন্টেইনারটি নিয়মিত সুরক্ষা আপডেটগুলি পাবে না তা জেনে রাখা লেনদেনকারী। আমার কন্টেইনারটির জন্য সুরক্ষা আপডেটগুলি পরিচালনা করা কোনও সমস্যা না করে ব্যক্তিগতভাবে প্রতিটি ডকারের ইমেজে ব্যক্তিগতভাবে সুরক্ষা আপডেট প্রয়োগ করা যথেষ্ট সমস্যা।


1
আপনি প্রশ্নের উত্তর সরবরাহ না করায় আপনার পোস্টটি একটি উত্তর হিসাবে বিবেচিত হবে না। এটি প্রশ্নের একটি মন্তব্য হিসাবে যুক্ত করুন এবং আপনার "উত্তর" সরান। স্ট্যাকএক্সচেঞ্জ কোনও ফোরাম নয়, তবে প্রশ্নোত্তর হিসাবে বিবেচনা করা উচিত যেখানে বিশেষজ্ঞরা এমন প্রশ্নের উত্তর দেন যা তারা সহায়তা প্রদান করতে পারে।
ফিলিপ -জায়ান কে লি- স্টকম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.