ডকার এবং পাসওয়ার্ড সুরক্ষিত


162

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


উত্তর:


92

অবশ্যই এটি উদ্বেগের বিষয়। ডকফায়াইলগুলি সাধারণত সংগ্রহস্থলগুলিতে চেক ইন করা হয় এবং অন্য লোকের সাথে ভাগ করা হয়। বিকল্পটি হ'ল রানটাইমের সময় পরিবেশের ভেরিয়েবল হিসাবে কোনও শংসাপত্র (ব্যবহারকারীর নাম, পাসওয়ার্ড, টোকেন, সংবেদনশীল কিছু) সরবরাহ করা । এর মাধ্যমে সম্ভব -eআর্গুমেন্ট বা (CLI উপর পৃথক Vars জন্য) --env-fileযুক্তি (একটি ফাইলে একাধিক ভেরিয়েবল জন্য) docker run। পড়ুন এই Docker-রচনা সঙ্গে পরিবেশগত ব্যবহার করার জন্য।

ব্যবহার --env-fileকরা অবশ্যই একটি নিরাপদ বিকল্প, কারণ এটি psযদি ব্যবহার করে তবে লগ- ইন বা লগগুলিতে প্রদর্শিত গোপনীয়তা থেকে রক্ষা করে set -x

তবে এনভ ভার্সগুলিও বিশেষভাবে নিরাপদ নয়। এগুলির মাধ্যমে সেগুলি দৃশ্যমান হয় docker inspect, এবং সেইজন্য এগুলি যে কোনও ব্যবহারকারীর কাছে উপলব্ধ রয়েছে যা dockerকমান্ডগুলি চালাতে পারে। (অবশ্যই অ্যাক্সেস রয়েছে সেই ব্যবহারকারীরর dockerহোস্ট এছাড়াও রুট হয়েছে যাহাই হউক না কেন।)

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

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

আপনি কনটেইনারগুলিতে কনফিগারেশনে দরকারী মন্তব্যগুলি পেতে পারেন ।


অন্যান্য মন্তব্যে উল্লিখিত হিসাবে 2 টি স্তর থাকবে (ADD এর পরে এবং প্রথম RUN এর পরে) এতে .configফাইল থাকবে।
পেটর গ্ল্যাডকিখ

1
হ্যাঁ, env ভেরিয়েবলগুলি যেতে যাওয়ার সর্বোত্তম উপায় বলে মনে হচ্ছে। আমি এটি টিডিডিং ডকফেরফিলের বিকাশের প্রসঙ্গে দেখছি।
gnoll110

5
আমি উদ্বিগ্ন যে যদি আপনার পাসওয়ার্ডটি একটি এনভ ভেরিয়েবল হয় তবে এটি উপস্থিত হবে docker inspect
পাতলা

ডকারের একটি ডিফল্ট ইনস্টলেশন (লিনাক্সে) চালাতে sudoer সুবিধা প্রয়োজন docker inspect। যদি আক্রমণকারী ইতিমধ্যে sudo করতে পারে তবে ডকারের তদারকির বাইরে আপনার পাসওয়ার্ড ছিনিয়ে নেওয়া সম্ভবত আপনার ভুল কাজ করতে পারে এমন জিনিসগুলির তালিকায় খুব কম। এই বিশেষ বিবরণটি আমার কাছে গ্রহণযোগ্য ঝুঁকির মতো বলে মনে হচ্ছে।
গ্র্যান্ডঅপনার

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

74

আমাদের দলটি সংগ্রহশালাগুলিতে শংসাপত্র স্থাপন করা এড়িয়ে যায়, এর অর্থ তারা allowedুকতে দেয় না Dockerfile। অ্যাপ্লিকেশনগুলির মধ্যে আমাদের সেরা অনুশীলন হ'ল পরিবেশের ভেরিয়েবলের ক্রেডিট ব্যবহার করা।

আমরা এটি ব্যবহারের জন্য সমাধান docker-compose

এর মধ্যে docker-compose.yml, আপনি একটি ফাইল নির্দিষ্ট করতে পারেন যাতে ধারকটির জন্য পরিবেশের ভেরিয়েবল রয়েছে:

 env_file:
- .env

এতে যোগ .envকরার বিষয়টি নিশ্চিত করুন .gitignore, তারপরে .envফাইলের মধ্যে শংসাপত্রগুলি যেমন:

SOME_USERNAME=myUser
SOME_PWD_VAR=myPwd

সঞ্চয় করুন .envফাইল স্থানীয়ভাবে বা কোনো নিরাপদ স্থানে যেখানে দলের বাকি এটি দখল করতে পারেন।

দেখুন: https://docs.docker.com/compose/en পরিবেশ- variables/#/ the-env-file


15
আপনি ইচ্ছে করলে একটি .env ফাইল ছাড়াই এটি করতে পারেন। আপনার ডকার-কমপোজ.আইএমএল ফাইলটিতে কেবল পরিবেশের সম্পত্তিটি ব্যবহার করুন। "শুধুমাত্র একটি কী দিয়ে পরিবেশগত ভেরিয়েবলগুলি মেশিনে তাদের মানগুলির সমাধান করা হয় রচনা চলছে যা গোপনীয় বা হোস্ট-নির্দিষ্ট মানগুলির জন্য সহায়ক হতে পারে" "
ডি ভিজার

1
এই লোকটিকে একটি কুকি দাও! :) হ্যাঁ এটি সত্যিই ভাল অনুশীলন আমি কেবল যুক্ত করতে চাই যে ডকস.ডকার / কমপোজ / এএনপি-ফাইল এটি স্বয়ংক্রিয়ভাবে কাজ করা উচিত তবে ডকার রচনা সংস্করণ 2 এ মনে হচ্ছে আপনার এই উত্তরে বর্ণিত হিসাবে এটি ঘোষণা করা দরকার।
সমমান 8

5
পরিবেশের ভেরিয়েবলগুলি ডকার দল নিজেই নিরুৎসাহিত করে, যেমন env var / proc / <pid> / এনভায়রনমেন্ট এবং ডকার ইন্সপেক্টের মাধ্যমে দেখা যায়। এটি কেবল আক্রমণকারী যিনি রুট অ্যাক্সেস অর্জন করেছেন তার শংসাপত্র পাওয়ার উপায়টিকেই অস্পষ্ট করে। অবশ্যই শংসাপত্রগুলি কখনই সিভিএস দ্বারা ট্র্যাক করা উচিত নয়। আমি অনুমান করি যে কোনও রুট-ব্যবহারকারীকে ক্রেডিট পেতে রোধ করার একমাত্র উপায় হ'ল একটি এনক্রিপ্ট করা ফাইল থেকে ওয়েব অ্যাপের মধ্যে শংসাপত্রগুলি (এটি তার প্রকর্ম এনভায়রন ফাইলটি আপডেট করে না আশা করে), ডিক্রিপশন প্রক্রিয়াটি নিরাপদে একটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করছে। আমি মনে করি আমি মাজার সঙ্গে করত চেষ্টা করুন: github.com/dyne/Tomb
pawamoy

.gitignoreযাতে .envসংবেদনশীল তথ্য সহ ফাইলটি গিটহাবে চেক ইন না হয়। আমি .dockerignore
দৃ sure়ভাবে

হাই @ থাইটারসাইট, আপনার উত্তরের জন্য ধন্যবাদ, আমার একটি প্রশ্ন ছিল, যখন আমি .envফাইলটি চেকইন করি না এবং যখন আমি কোনও সার্ভারে পূর্ববর্তী স্থানে স্থাপন করি তখন কি আপনি .envনিজে সার্ভারে ফাইলটি আবার তৈরি করার পরামর্শ দিচ্ছেন ?
ওপেনসোর্স-বিকাশকারী

37

ডকার এখন (সংস্করণ 1.13 বা 17.06 এবং উচ্চতর) গোপন তথ্য পরিচালনার জন্য সমর্থন করে। এখানে একটি ওভারভিউ এবং আরও বিস্তারিত ডকুমেন্টেশন রয়েছে' s

একই বৈশিষ্ট্য বিদ্যমান kubernetes এবং DCOS


উপরের লিঙ্কগুলি থেকে কিছু দরকারী কমান্ড docker secret create:: একটি গোপন তৈরি করুন: একটি গোপন docker secret inspectসম্পর্কে বিস্তারিত তথ্য প্রদর্শন করুন docker secret ls: সমস্ত গোপনীয়তা দেখুন docker secret rm: এর জন্য একটি নির্দিষ্ট গোপন --secretপতাকা সরান docker service create: পরিষেবা তৈরির সময় একটি গোপনীয়করণ তৈরি করুন --secret-addএবং এর --secret-rmজন্য পতাকাগুলি : কোনও গোপনের docker service updateমান আপডেট করুন বা কোনও গোপন অপসারণ করুন পরিষেবা আপডেট টাস্ক সময়। ডকার সিক্রেটগুলি ম্যানেজার নোডগুলিতে বিশ্রামে সুরক্ষিত থাকে এবং কন্টেইনার শুরু হওয়ার সময় কর্মী নোডগুলিতে সরবরাহ করা হয়।
পিজে

7
হ্যাঁ, ডকার সিক্রেটস ব্যবহার করার জন্য আপনার একটি ঝাঁক সেট আপ করা দরকার
হিদার কিউসি

11
এটি একটি উত্তরের একটি ভাল সূচনা, তবে উত্তরে প্রদর্শিত হওয়ার সাথে লিঙ্কযুক্ত যা থেকে আরও অনেক তথ্যের প্রয়োজন।
জেফ ল্যামবার্ট

7
নিশ্চিত না যে এটি যদি স্বরর্মগুলির সাথে কাজ করে তবে এটি গ্রহণযোগ্য উত্তর হতে পারে। অনেক লোক ঝাঁকুনি ব্যবহার করছে না, তবে এখনও সিক্রেট পাস করতে হবে।
জন ওয়াই

9

আপনি যখনই চিত্রটি ডাউনলোড করতে পারেন ঠিক তেমন ক্রেডিট সম্প্রচার না করে আপনার কোনও ধারককে শংসাপত্র যুক্ত করা উচিত নয়। বিশেষত, করা ADD credsএবং পরে RUN rm credsসুরক্ষিত নয় কারণ একটি মধ্যবর্তী ফাইল সিস্টেম স্তরটিতে ক্রেডিট ফাইল চূড়ান্ত চিত্রে থাকে। ছবিটিতে অ্যাক্সেস থাকা যে কোনও ব্যক্তির পক্ষে এটি বের করা সহজ।

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

আমি আশা করছি ডকার এগুলি আরও সহজ করার জন্য কিছু বৈশিষ্ট্য যুক্ত করেছে!

আপডেট: দেখে মনে হচ্ছে পদ্ধতিটি এগিয়ে যাচ্ছে নেস্টেড বিল্ডগুলি। সংক্ষেপে, ডকফাইফিলটি এমন একটি প্রথম পাত্রে বর্ণনা করবে যা রান-টাইম পরিবেশ তৈরিতে ব্যবহৃত হয় এবং তারপরে দ্বিতীয় নেস্টেড কনটেইনার বিল্ড যা সমস্ত টুকরোকে চূড়ান্ত পাত্রে একত্রিত করতে পারে। এইভাবে বিল্ড-টাইম স্টাফগুলি দ্বিতীয় পাত্রে নেই। এটি একটি জাভা অ্যাপ্লিকেশন যেখানে অ্যাপ্লিকেশন তৈরির জন্য আপনার জেডিকে দরকার তবে এটি চালানোর জন্য কেবল জেআরই। বেশ কয়েকটি প্রস্তাবনা আলোচনা হচ্ছে, https://github.com/docker/docker/issues/7115 থেকে শুরু করে বিকল্প প্রস্তাবগুলির জন্য কয়েকটি লিঙ্ক অনুসরণ করা ভাল ।


7

এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করার একটি বিকল্প, যা আপনার কাছে প্রচুর পরিমাণে থাকলে অগোছালো হয়ে যেতে পারে, সেটি হল পাত্রে হোস্টের ডিরেক্টরিতে অ্যাক্সেসযোগ্য ডিরেক্টরি তৈরি করার জন্য ভলিউম ব্যবহার করা।

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

উদাহরণ স্বরূপ:

$ echo "secret" > /root/configs/password.txt
$ docker run -v /root/configs:/cfg ...

In the Docker container:

# echo Password is `cat /cfg/password.txt`
Password is secret

অনেক প্রোগ্রাম পৃথক ফাইল থেকে তাদের শংসাপত্রগুলি পড়তে পারে, সুতরাং আপনি কেবল ফাইলটিকে একটিতে প্রোগ্রামটি নির্দেশ করতে পারেন।


5

রান-টাইম একমাত্র সমাধান

ডকার-কমপোজ একটি নন-সোর্ম মোড সলিউশনও সরবরাহ করে (যেহেতু v1.11: বাইন্ড মাউন্টগুলি ব্যবহার করে গোপনীয়তা )।

/run/secrets/গোপনগুলি ডকার-রচনা দ্বারা নীচে ফাইল হিসাবে মাউন্ট করা হয় । এটি রান-টাইমে (পাত্রে চালানো) সমস্যাটি সমাধান করে তবে বিল্ড-টাইমে নয় (চিত্রটি তৈরি করা), কারণ /run/secrets/বিল্ড-টাইমে মাউন্ট করা হয়নি। তদুপরি এই আচরণটি ডকার-রচনা দিয়ে ধারক চালানোর উপর নির্ভর করে।


উদাহরণ:

Dockerfile

FROM alpine
RUN cat /run/secrets/password
CMD sleep inifinity

Docker-compose.yml

version: '3.1'
services:
  app:
    build: .
    secrets:
      - password

secrets:
  password:
    file: password.txt

বিল্ড করতে, কার্যকর করুন:

docker-compose up -d

আরও পড়া:


2

সঙ্গে Docker v1.9 আপনি ব্যবহার করতে পারেন ARG নির্দেশ উপর চিত্রে কমান্ড লাইন দ্বারা গৃহীত আর্গুমেন্ট আনতে বিল্ড কর্ম । কেবল - বিল্ড-আরগ পতাকাটি ব্যবহার করুন । সুতরাং আপনি ডকফাইফায়লে স্পষ্ট পাসওয়ার্ড (বা অন্যান্য বুদ্ধিমান তথ্য) এড়াতে এবং এটিকে ফ্লাইয়ে পাস করতে পারেন।

উত্স: https://docs.docker.com/engine/references/commandline/build/ http://docs.docker.com/engine/references/builder/#arg

উদাহরণ:

Dockerfile

FROM busybox
ARG user
RUN echo "user is $user"

বিল্ড ইমেজ কমান্ড

docker build --build-arg user=capuccino -t test_arguments -f path/to/dockerfile .

বিল্ড সময় এটি মুদ্রণ

$ docker build --build-arg user=capuccino -t test_arguments -f ./test_args.Dockerfile .

Sending build context to Docker daemon 2.048 kB
Step 1 : FROM busybox
 ---> c51f86c28340
Step 2 : ARG user
 ---> Running in 43a4aa0e421d
 ---> f0359070fc8f
Removing intermediate container 43a4aa0e421d
Step 3 : RUN echo "user is $user"
 ---> Running in 4360fb10d46a
**user is capuccino**
 ---> 1408147c1cb9
Removing intermediate container 4360fb10d46a
Successfully built 1408147c1cb9

আশা করি এটা সাহায্য করবে! বাই।


26
ডকারের এআরজি ডক্স অনুসারে : "গিথুব কী, ব্যবহারকারীর শংসাপত্র ইত্যাদির মতো গোপনীয় বিষয়গুলি পাস করার জন্য বিল্ড-টাইম ভেরিয়েবলগুলি ব্যবহার করার পরামর্শ দেওয়া হয় না"
লাই রায়ান

3
শুধু ভাবছেন যে ডকার কেন --build-arg var=secretএকটি ছবিতে এসএসএইচ প্রাইভেট কী পাস করার জন্য ব্যবহার করার পরামর্শ দেয় , কোনও যুক্তিযুক্ত নথি নেই। কেউ কি এটি ব্যাখ্যা করতে পারেন?
হেনক ওয়েয়ার্সিমা

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

2
নির্মাণের সময় প্রয়োজনীয় শংসাপত্র সরবরাহ করার প্রস্তাবিত উপায় কী? উদাহরণস্বরূপ, এমন একটি চিত্রের জন্য যা বড় আকারের ডেটা সেট আনতে অজ এস 3 অ্যাক্সেসের প্রয়োজন যা চিত্রের অভ্যন্তরে থাকবে?
ইলি

3
আমি এটির প্রস্তাবিত না হওয়ার কারণটি কল্পনা করি কারণ docker historyপ্রকাশ build-arg/ ARGপরিবর্তনশীল। যে কোনও চিত্র টানতে পারে, এটি পরিদর্শন করতে এবং build-arg/ ARGপরামিতি হিসাবে বিল্ড চলাকালীন যে কোনও গোপনীয়তা পাস করতে পারে তা দেখতে পারে ।
vee_ess

2

আমার পদ্ধতির কাজ মনে হচ্ছে, তবে সম্ভবত নির্বোধ। কেন এটা ভুল তা বলুন।

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

সুতরাং, ডকফাইফিলে, এমন কোনও সেটআপ করুন যা গোপন ডেটা জড়িত না। এর মতো কোনও সিএমডি সেট করুন /root/finish.sh। রান কমান্ডে, ধারকটিতে গোপন তথ্য প্রেরণের জন্য পরিবেশগত ভেরিয়েবল ব্যবহার করুন। finish.shনির্মাণের কাজ শেষ করতে ভেরিয়েবলগুলি মূলত ব্যবহার করে।

গোপন ডেটা পরিচালনা করা সহজ করার জন্য, এটিকে এমন কোনও ফাইলে রাখুন যা --env-fileসুইচ দিয়ে ডকার রান দ্বারা লোড হয় । অবশ্যই, ফাইলটি গোপন রাখুন। .gitignoreএবং যেমন.

আমার জন্য, finish.shপাইথন প্রোগ্রাম চালায়। এটি নিশ্চিত হয়ে গেছে যে এটি আগে চালিত হয়নি, তারপরে সেটআপটি সমাপ্ত করে (উদাহরণস্বরূপ, জ্যাঙ্গোর মধ্যে ডাটাবেসের নাম অনুলিপি করে settings.py)।


2

"সিক্রেটস" পরিচালনার জন্য একটি নতুন ডকার কমান্ড রয়েছে । তবে এটি কেবল জলাবদ্ধ ক্লাস্টারের জন্য কাজ করে।

docker service create
--name my-iis
--publish target=8000,port=8000
--secret src=homepage,target="\inetpub\wwwroot\index.html"
microsoft/iis:nanoserver 

1

12-ফ্যাক্টর অ্যাপ্লিকেশন পদ্ধতি বলে, যে কোনো কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবল সংরক্ষণ করা উচিত নয়।

ডকার রচনাটি কনফিগারেশনে পরিবর্তনীয় বিকল্প করতে পারে, যাতে হোস্ট থেকে ডকারে পাসওয়ার্ডগুলি পাস করতে ব্যবহার করা যেতে পারে।


আমি বাইবেলের রেফারেন্স প্রশংসা করি।
জ্যাককটন

-2

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


2
জিজ্ঞাসা করা প্রশ্নের কোথাও কোনও উত্তর আছে?
অভিজিৎ সরকার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.