জলাবদ্ধ গোষ্ঠী ছাড়াই ডকার সিক্রেটস কীভাবে ব্যবহার করবেন?


29

বর্তমানে আমরা একটি একক ডকার পাত্রে চলমান অ্যাপ্লিকেশনটি করছি, অ্যাপ্লিকেশনটির সমস্ত প্রকারের সংবেদনশীল ডেটা পরিবেশের ভেরিয়েবল হিসাবে পাস করতে হবে,

আমি তাদের রান কমান্ডে রেখে দিচ্ছি যাতে তারা চিত্র এবং তারপরে একটি সংগ্রহস্থলটিতে শেষ না হয় তবে আমি খুব সুরক্ষিত রান কমান্ড দিয়ে শেষ করি,

এখন, আমি বুঝতে পারি যে ডকার সিক্রেটস বিদ্যমান আছে, তবে আমি কোনও ক্লাস্টার মোতায়েন না করে কীভাবে এগুলি ব্যবহার করতে পারি? বা এই ডেটা সুরক্ষিত করার অন্য কোনও উপায় আছে?

শুভেচ্ছান্তে,


6
সেখানে সোয়ার্ম ছাড়া ব্যবহার গোপন করার বিভিন্ন উপায় আছে blog.mikesir87.io/2017/05/...
আলেক্সান্দ্র Aksarin

উত্তর:


6

আপনি পারবেন না ... এটি ঝাঁক ছাড়াই গোপনীয়তা সমর্থন করে না। কেবলমাত্র একটি নোড ব্যবহার না করে '' আপনি '' স্বর্ম '' নাও পারেন।

অন্য সমাধানটি হ'ল, আমি মনে করি এটি একটি তৃতীয় পক্ষের ভল্ট সফ্টওয়্যার ব্যবহার করার জন্য:

https://www.vaultproject.io/

তবে তারপরে, ভল্ট থেকে আপনার পাত্রে থাকা গোপনীয়তাগুলি ব্যবহার করতে, আপনাকে ডকটি পড়তে হবে।

আশা করি এটি শুরু করার জন্য আপনাকে সঠিক পথে নিয়ে আসে।


আসলে কন্টেইনারগুলি তৈরি করার সময় আমার কেবল এই গোপনীয়তাগুলি ইনজেকশন করা দরকার, চলমান পাত্রে তাদের সত্যই "গোপন" থাকার দরকার নেই, তাই আমি অনুমান করি যে হোস্টটি যখন অনুরোধ করাচ্ছিল তখন গোপনীয়গুলিকে অ্যাক্সেস করতে এবং ব্যবহার করতে সক্ষম হয়ে যাবে sense ডকার রান কমান্ড, আমি অনুমান করি যে আমি একটি গুচ্ছ প্রতিস্থাপন এবং ভল্টে কল দিয়ে একটি স্ক্রিপ্ট লিখতে পারি।
জুয়ান সেবাস্তিয়ান

@ জুয়ানসবেস্টিয়ান আপনার ব্যবহারের ক্ষেত্রে ডকার 'বিল্ড-আরগস' পরীক্ষা করে দেখা উচিত।
ব্যবহারকারী 23390

@JuanSebastian আমি ভুল হতে পারে, কিন্তু স্থানীয় ENV পেয়ে কি thoses বিল্ড-args ভিতরে আপনি দিতে হবে .... সে বিষয়ে নিশ্চিত নন .....
উত্পাদ

build-argsচূড়ান্ত চিত্রের অন্তর্ভুক্ত নয়, তবে কেবল চিত্র তৈরির সময় অ্যাক্সেস করা যায়। হোস্টের ফাইলগুলিতে গোপনীয়তা লিখতে একটি উপযুক্ত সমাধান হ'ল (যথাযথ অনুমতি সহ, অবশ্যই) তারপরে ভলিউম এগুলি আপনার ডকারের ধারকটিতে মাউন্ট করুন। ধারকের ভিতরে থাকা আপনার অ্যাপ্লিকেশনটি তখন সেই ফাইলগুলি থেকে গোপনীয়তাগুলি পড়তে পারে
ব্র্যান্ডন

22

হ্যাঁ , আপনি কোনও রচনা ফাইল ব্যবহার করলে আপনি গোপনীয়তা ব্যবহার করতে পারেন । (আপনার একটি ঝাঁক চালানোর দরকার নেই)।

আপনার সাথে একটি রচনা ফাইল ব্যবহার Docker-রচনা : আছে "গোপন" একটি Docker-compose.yml ফাইলে ডকুমেন্টেশন

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

দ্রষ্টব্য: গোপনীয়তাগুলি ধারকটির পরিবেশে লোড করা হয় না, সেগুলি মাউন্ট করা হয় / চালানো / গোপন /

এখানে একটি উদাহরণ:

1) প্রকল্প কাঠামো:

|
|---    docker-compose.yml
|---    super_duper_secret.txt

2) ডকার-কমপোজ.আইএমএল সামগ্রী:

version: "3.6"

services:

  my_service:
    image: centos:7
    entrypoint: "cat /run/secrets/my_secret"
    secrets:
      - my_secret

secrets:
  my_secret:
    file: ./super_duper_secret.txt

3) সুপার_ডুপার_সেক্রেট.টেক্সট সামগ্রী:

Whatever you want to write for a secret really.

৪) কনটেইনারটি আপনার গোপনীয়তায় অ্যাক্সেস পেয়েছে তা দেখতে প্রকল্পের মূল থেকে এই আদেশটি চালান, (ডকার অবশ্যই চলমান এবং ডকার-রচনাটি ইনস্টল করা আছে):

docker-compose up --build my_service

আপনি আপনার ধারক আউটপুট আপনার গোপন দেখতে হবে।


আপনি docker-composeএকটি গোপন ব্যবহারের একটি কাজের উদাহরণ দেখাতে পারেন ? ডকুমেন্টেশন এবং বাস্তবায়ন সম্পর্কে আমার বোঝার ইঙ্গিত দেয় যে গোপনটি ধারকটিতে কনফিগার করা হবে না।
বিএমচ

2
ডকার সিক্রেটগুলি কেবল স্বর্ম পরিষেবাগুলিতে উপলব্ধ, স্ট্যান্ডেলোন পাত্রে নয়। এই বৈশিষ্ট্যটি ব্যবহার করতে, পরিষেবা হিসাবে চালানোর জন্য আপনার ধারকটিকে অভিযোজন করার বিষয়টি বিবেচনা করুন। স্টেটফুল পাত্রে সাধারণত ধারক কোডটি পরিবর্তন না করে 1 স্কেল দিয়ে চালানো যেতে পারে। ডকার
অ্যালউইন কেসলার

@ বিমিচ একটি উদাহরণ যুক্ত করেছেন। আশা করি এটি আপনাকে সাহায্য করবে! (আমি যখন ডকারের সাথে কাজ করেছি এবং আমার পরিবেশটি আরও খানিকটা এগিয়ে চলছে ... তবে আমি মনে করি এটি কাজ করা উচিত। দয়া করে আমি কিছু মিস করেছি কিনা তা আমাকে জানান!)
লিন্ডসে-নিডস-স্লিপ

আমি আমার পরিষেবাগুলিতে একটি ঝাঁক ছাড়াই ( docker-compose.ymlএকক নোডে) এটিকে প্রতিলিপি করতে পারি না ; আমি যখন পাত্রটি শুরু করি /runকেবল তখন একটি থাকে nginx.pidএবং সেখানে কোনও Mountsদেখানো হয় না docker inspect $container
জিওরজিওসিরোনি

2
ভেবেছি আমি জনসংযোগের সাথে লিঙ্ক করব যা এটিকে প্লেইন ডকার-রচনাতে (ঝাঁকুনি ছাড়াই) যুক্ত করেছে। github.com/docker/compose/pull/4368 এটি সত্যিই সেখানে রয়েছে এবং কোড থেকে মনে হচ্ছে কমপোজ ফাইলের জন্য নূন্যতম সংস্করণটি 3.1 এবং API এর 1.13.0। কোডটি এখনও বর্তমান মাস্টারে রয়েছে ( github.com/dnephin/compose/blob/… ), তাই কোনও সর্বোচ্চ সংস্করণ আশা করবেন না।
ssnobody
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.