ডকার বিচ্ছিন্ন মোড


88

ডকার বিশ্বে বিচ্ছিন্ন মোডটি কী? আমি এই নিবন্ধটি লিঙ্কটি পড়েছি , তবে এটি বিচ্ছিন্ন মোডের অর্থ কী তা ঠিক ব্যাখ্যা করে না।

উত্তর:


145

আপনি একটি -dবিকল্প দিয়ে বিচ্ছিন্ন মোডে একটি ডকার ধারক শুরু করতে পারেন । সুতরাং ধারকটি শুরু হয়ে পটভূমিতে চলে run তার মানে, আপনি ধারকটি শুরু করেছিলেন এবং অন্যান্য কমান্ডগুলির জন্য প্রারম্ভের পরে কনসোলটি ব্যবহার করতে পারেন।

বিচ্ছিন্ন মোডের বিপরীতটি হল ফোরগ্রাউন্ড মোড। এটি ডিফল্ট মোড, যখন -dবিকল্প ব্যবহার করা হয় না। এই মোডে, আপনি যে কনসোলটি কার্যকর করতে ব্যবহার docker runকরছেন সেটি স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং ত্রুটির সাথে সংযুক্ত থাকবে। তার মানে আপনার কনসোলটি ধারকটির প্রক্রিয়াতে সংযুক্ত।

বিচ্ছিন্ন মোডে, আপনি আপনার ডকারের ধারকটির সাথে স্ট্যান্ডার্ড আউটপুট অনুসরণ করতে পারেন docker logs -f <container_ID>

উভয় বিকল্প চেষ্টা করুন। আমি আমার পাত্রে চালানোর জন্য সর্বদা বিচ্ছিন্ন মোডটি ব্যবহার করি। আমি আশা করি আমি এটি কিছুটা পরিষ্কার করে ব্যাখ্যা করতে পারলাম।


হাই, আপনি যা বলেছিলেন তা সম্পর্কে কি বিভ্রান্তি রয়েছে - এবং ডকার ডকুমেন্টেশন যা বলেছে "আপনি ... অন্য কমান্ডগুলির জন্য স্টার্টআপের পরে hte ধারক ব্যবহার করতে পারেন"। স্পষ্টতই, অগ্রভাগে, আপনি অন্য কমান্ডের জন্য ধারকটি ব্যবহার করছেন-যদি আপনার কাছে থাকে এবং আপনি কোনও প্রম্পটে থাকেন। তবুও -d এর সংজ্ঞা খুঁজছেন ...
ব্রায়ান বালকভস্কি

4
@ ব্রায়ানবুলকোভস্কি - এই উত্তরটি মোটেই বলে না। "... স্টার্টআপের পরে কনসোলটি ব্যবহার করতে পারে ..." এই বাক্যাংশটির অর্থ হল যে ডার্মারটি আপনি যে ডকারের ধারকটি থেকে শুরু করেছিলেন সেটি এখনও নিয়মিত শেল হিসাবে ব্যবহারযোগ্য এবং ডক ধারকটি ব্যাকগ্রাউন্ডে চলমান runs
বেহুদা

আপনি একটি ফাইল লগ আউটপুট পাইপ করতে পারেন? যদি আমি ডকার লগগুলিকে কল করি --f <কন্টেইনার_আইডি> আমার টার্মিনালটি কেবল একের পর এক লাইন প্রিন্টিং চলছে।
জর্জেন কে।

@ জারজেনকে আমি খুঁজে পেয়েছি যে আপনি সহজভাবে করতে পারেন docker logs -f [container_ID] > logs.txt। নীচে @ বিমিচ দ্বারা প্রস্তাবিত ডকার পাত্রটি শুরু করার সময় এটি '-it' পতাকা যুক্ত করার চেষ্টা না করে যদি।
সানলোক লি

@ সানলোক লি। ধন্যবাদ ডকার লগ ফাইলের লাইন সংখ্যাগুলির সীমা নির্ধারণ করা কি সম্ভব? আকারটি নিঃশব্দে দ্রুত বাড়ে, আমার এটি পরিষ্কার করা দরকার
জার্গেন কে।

31

ডকার কমান্ড লাইনের বিচ্ছিন্ন বিকল্পটি ইঙ্গিত দেয় যে ডকার ক্লায়েন্ট ( docker) সার্ভারে অনুরোধ জানাবে ( dockerd) এবং তারপরে ক্লায়েন্টটি প্রস্থান করবে যখন অনুরোধটি সার্ভারে অবিরত থাকবে। বিভ্রান্তির অংশটি হতে পারে যে ডকারটি একক প্রক্রিয়ার মতো দেখায়, যেখানে বাস্তবে এটি ক্লায়েন্ট / সার্ভার অ্যাপ্লিকেশন যেখানে ক্লায়েন্টটি কেবলমাত্র একটি কমান্ডই একটি REST এপিআইতে সরু প্রতিটি কমান্ড প্রেরণ করতে পারে।

এর সাথে docker container run --detach, এর অর্থ এটি ধারকটি তৈরি করা হবে, সার্ভার সফল হলে একটি ধারক আইডি দিয়ে প্রতিক্রিয়া জানাবে এবং আপনি অন্য কমান্ডগুলি চালাতে মুক্ত থাকাকালীন কনটেইনারটি সার্ভারে চলতে থাকবে। এটি প্রায়শই কোনও সার্ভারের জন্য ব্যবহৃত হয় (যেমন এনজিনেক্স) আপনি অন্যান্য কমান্ডগুলি চালিয়ে যাওয়ার সময় পটভূমিতে শুরু করতে চান। মনে রাখবেন যে আপনি এখনও --interactiveএবং -ttyবিকল্পগুলি (প্রায়শই সংক্ষিপ্ত -it) দিয়ে একটি ধারক কনফিগার করতে পারেন এবং পরে docker container attachইতিমধ্যে চলমান ধারকটির সাথে সংযোগ রাখতে একটি চালনা করতে পারেন। (দ্রষ্টব্য, যতক্ষণ না আপনি চালিত কন্টেইনারে সংযুক্ত হন -itd, স্ট্যান্ডিনের কাছ থেকে পড়ার জন্য ধারকটির যে কোনও প্রয়াস স্তব্ধ হয়ে যাবে, ইনপুটটির শেষ না দেখে যা প্রায়শই সবে পাস করলে অবিলম্বে তাত্ক্ষণিক প্রস্থান করে -d))

আপনি যদি বিচ্ছিন্ন বিকল্পটি ছাড়া চালনা করেন তবে ধারকটি তৈরি হওয়ার পরে ক্লায়েন্টটি তত্ক্ষণাত্ একটি সংযুক্ত API কল চালাবে যাতে আপনি আউটপুটটি দেখতে পারেন এবং optionচ্ছিকভাবে ধারকটিতে চলমান প্রক্রিয়াতে ইনপুট সরবরাহ করতে পারেন। এটি কার্যকর যদি আপনার ধারকটি ইন্টারেক্টিভ কিছু চালাচ্ছে (উদাঃ /bin/bash)।

অন্যান্য বেশ কয়েকটি কমান্ড বিচ্ছিন্ন বিকল্পটিকে মঞ্জুরি দেয়, যার মধ্যে docker-compose up -dএকটি সম্পূর্ণ প্রকল্প শুরু হবে এবং এটি ব্যাকগ্রাউন্ডে সার্ভারে চলতে থাকবে। এছাড়াও অনেকগুলি docker serviceকমান্ড রয়েছে যা হয় কোনও সার্ভিসের লক্ষ্য স্থিতি তৈরি বা আপডেট করার জন্য সার্ভারে পরিবর্তন জমা দেওয়ার পরে আলাদা করে দেবে, বা আপনি যদি বিচ্ছেদ না করেন তবে ক্লায়েন্ট পরিষেবাটির বর্তমান অবস্থার সাথে লক্ষ্য স্থিতির সাথে মেলে না এবং অপেক্ষা করতে পারে স্থাপনার অগ্রগতি। docker serviceকমান্ডগুলি সহ নোট করুন , আপনাকে --detach=falseসংযুক্ত থাকতে থাকতে হতে পারে , আচরণটি আপনার সংস্করণের উপর নির্ভর করে গত বছরের তুলনায় পরিবর্তিত হয়েছে।


4
আইএমও, কীভাবে সংযুক্ত পাত্র থেকে ইন্টারেক্টিভভাবে বিচ্ছিন্ন করতে হবে তা উল্লেখ করাও বোধগম্য ( CTRL-p CTRL-q , --detach-keys)
লিওন

@ ভাল পরামর্শটি জেনে রাখুন, তবে এটি কাজ করার জন্য আপনি উভয় --interactiveএবং --tty(ওরফে -it) সাথে ধারকটির সাথে সংযুক্ত আছেন তা নিশ্চিত করুন ।
বিএমচ

4
ধন্যবাদ @ বিমিচ! আমার মনে হয় আমি এখন বুঝতে পেরেছি।
ভিএসও

4
সুন্দরভাবে বিবিচকে ব্যাখ্যা করা হয়েছে, দস্তাবেজগুলি পুরোপুরি এটি হতে পারে!
রবি তিওয়ারি

-6
docker run -d -t ubuntu:14.04

ডকার রান - ডকার ইমেজ থেকে ডকারের ধারক হিসাবে একটি উদাহরণ তৈরি করুন। (যদি চিত্র স্থানীয়ভাবে উপলব্ধ না হয় তবে এটি ডকার হাব থেকে টানতে পারে) উবুন্টু - চিত্রের নাম

14.04 - ট্যাগ

-d, --detach - বিচ্ছিন্ন মোড

-t, --ত্তি - একটি সিডো-টিটিওয়াই বরাদ্দ করুন


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