বিচ্ছিন্ন পরিবেশ তৈরি করার জন্য আমার কি ভ্যাগ্রান্ট বা ডকার ব্যবহার করা উচিত? [বন্ধ]


2083

আমি উন্নয়ন এবং স্থাপনার জন্য উবুন্টু ব্যবহার করি এবং বিচ্ছিন্ন পরিবেশ তৈরি করার প্রয়োজন রয়েছে।

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


27
উভয়ই এখন একত্রিতযোগ্য: docs.vagrantup.com/v2/provisioning/docker.html
Alp

78
আপনার প্রশ্নটি দুটি সেবার লেখকের উভয়ই উত্তর পাওয়ার জন্য যথেষ্ট ভাগ্যবান: মিচেল এবং সলোমন হাইকস
ইত্তাজাদ

4
আমি একটি নতুন সংক্ষিপ্ত বিবরণ দিতে চাই - প্রশ্নটি বেশিরভাগ ক্ষেত্রেই ভুল। সঠিক প্রশ্নটি হল: বিচ্ছিন্ন পরিবেশ তৈরি করার জন্য আমার কি ভ্যাগ্রান্ট বা ডকার-কমপোজ ব্যবহার করা উচিত? উত্তরটি হ'ল ভ্যাগ্র্যান্ট এবং ডকার-রচনা পরিবেশকে বর্ণনা করার জন্য একই কাজটি করে এবং আপনার পরিবর্তে ডকারকে ভার্চুয়ালবক্সের সাথে তুলনা করা উচিত। পার্থক্যটি হ'ল ভ্যাগ্র্যান্ট যেকোন ভার্চুয়ালাইজেশন যেমন ডকার, ভিএমওয়্যার, উইন্ডোজ, লিনাক্স বা ওএসএক্সে ভার্চুয়ালবক্স ব্যবহার করতে পারে তবে ডকার-কমপোজ কেবল লিনাক্স ভিত্তিক ডকার চিত্র ব্যবহার করতে পারে।
PHZ.fi-Phazon

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

উত্তর:


1155

যদি আপনার উদ্দেশ্যটি বিচ্ছিন্নতা হয় তবে আমি মনে করি ডকার হ'ল আপনি যা চান তা।

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

অন্যদিকে ডকার এলএলসিসির মাধ্যমে কার্নেল সিগ্রুপ এবং নেমস্পেসিং ব্যবহার করে । এর অর্থ হল আপনি হোস্ট এবং একই ফাইল সিস্টেমের মতো একই কার্নেলটি ব্যবহার করছেন। আপনার ধারকটির docker buildবিধান এবং কনফিগারেশন পরিচালনা করতে আপনি কমান্ডটি সহ ডকফাইফিল ব্যবহার করতে পারেন । আপনার ডকফাইফাইল কীভাবে তৈরি করবেন সে সম্পর্কে ডকস.ডোকার.কম এ আপনার একটি উদাহরণ রয়েছে ; এটা খুব স্বজ্ঞাত।

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


13
দুর্ভাগ্যক্রমে, এখনও না। আপনি যদি 32 বিট সিস্টেমে থাকেন তবে ডকার চালানোর জন্য আপনার একটি 64 বিট গেস্ট সিস্টেম সহ একটি ভিএম দরকার। যাইহোক, go1.1 এর সাথে 32 বিট সমর্থন আরও ভাল হয় এবং এটি সম্ভবত সম্ভব যে ডকার খুব শীঘ্রই 32 বিট খিলান সমর্থন করবে
ক্র্যাক

8
এটি ম্যাক এবং উইন্ডোজের ক্ষেত্রে সত্য, তবে ডকার 0.7 থেকে যে কোনও লিনাক্স ডিস্ট্রো ভাল কাজ করে। আপনি যদি অ-কর্মক্ষম সম্পর্কে জানেন তবে দয়া করে আমাকে জানান। এছাড়াও, যদি না আপনার কাছে ম্যাক বা উইন্ডোজ স্ট্যাক থাকে (যা সম্ভাব্য নয় তবে ঘটতে পারে), আপনি ডকারকে অন্য কোথাও চালাতে চান না তবে লিনাক্সে। ডকার ক্লায়েন্ট ম্যাকের জন্য সূক্ষ্মভাবে কাজ করে, শীঘ্রই BSD এ কাজ করা উচিত এবং ডিমন শেষ পর্যন্ত বিএসডি, সোলারিস এবং ম্যাককে সমর্থন করবে।
ক্র্যাক করুন ack

9
যদি কেউ এই মন্তব্যগুলি পড়ে থাকে তবে আপনার জানা উচিত যে ডকার ঠিক 12 দিন আগে ver1.0 হিট করেছে ( blog.docker.com/2014/06/its-here-docker-1-0 ) এবং বিভিন্ন প্ল্যাটফর্মের পুরো সম্পূর্ণ স্থিতিশীল রয়েছে & এখনই সমর্থিত ( ডকস.ডকার / ইন্সটলেশন )
জর্জিআর্টওয়্যার

17
ভিজান্টের কাছে এলএক্সসি এবং ডকার বিধান রয়েছে। তবে - ভ্যাগ্র্যান্ট এবং ডকার মূলত পৃথক জিনিস। ভ্যাগ্র্যান্ট নিখুঁতভাবে বিকাশের পরিবেশের জন্য, ডকার কেবল উত্পাদন এবং লিনাক্সের জন্য।
ড্যানিবয়

2
ডকার এখন উইন্ডোজ 10 প্রো এবং আপ এবং উইন্ডোজ সার্ভার 2016 এ কাজ করে I আমি সবেমাত্র উইন্ডোজ 10 হোম থেকে উইন্ডোজ 10 প্রোতে আপগ্রেড করেছি এবং ডকার অ্যাপটি ইনস্টল করেছি। আমি এখন উইন্ডোজ ১০ এ লিনাক্স ডকার চিত্রগুলি চালাতে পারি It's
প্রেস্টনডকস

2339

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

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

ভ্যাগ্রান্টের সরাসরি ডকারের সাথে তুলনা করা ঠিক নয়। কিছু পরিস্থিতিতে তারা ওভারল্যাপ করে এবং বিশাল সংখ্যাগরিষ্ঠে তারা তা করে না। আসলে, আরও উপযুক্ত তুলনাটি ভুটান্ট বনাম বুট 2 ডকারের মতো (নূন্যতম ওএস যা ডকার চালাতে পারে) এর মতো হবে be ভ্যাব্র্যান্ট অ্যাবস্ট্রাকশনগুলির ক্ষেত্রে ডকারের উপরে একটি স্তর, সুতরাং বেশিরভাগ ক্ষেত্রে এটি ন্যায্য তুলনা নয়।

ভ্যাগ্রান্ট বিকাশের উদ্দেশ্যে অ্যাপস / পরিষেবা চালানোর জন্য জিনিসগুলি চালু করে। এটি ভার্চুয়ালবক্স, ভিএমওয়্যার এ থাকতে পারে। এটি এডাব্লুএস, ওপেনস্ট্যাকের মতো দূরবর্তী হতে পারে। এর মধ্যে, আপনি যদি ধারক ব্যবহার করেন তবে ভ্যাগ্র্যান্টের কোনও যত্ন নেই এবং এটি আলিঙ্গন করে: এটি স্বয়ংক্রিয়ভাবে ডকার পাত্রে ইনস্টল করতে, টেনে আনতে, তৈরি করতে এবং চালাতে পারে run ভ্যাগ্র্যান্ট ১.6 সহ ভ্যাগ্র্যান্টের ডকার-ভিত্তিক বিকাশ পরিবেশ রয়েছে এবং লিনাক্স, ম্যাক এবং উইন্ডোজ জুড়ে ভ্যাগ্র্যান্টের মতো একই কর্মপ্রবাহের সাথে ডকার ব্যবহার করে সমর্থন করে। ভ্যাগ্র্যান্ট এখানে ডকারকে প্রতিস্থাপনের চেষ্টা করে না, এটি ডকার অনুশীলনগুলিকে আলিঙ্গন করে।

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

যদি আপনার সংস্থাটি তাদের সমস্ত প্রকল্পের জন্য কেবল ডকার পাত্রে চালায় এবং লিনাক্সে কেবল বিকাশকারী চলমান থাকে তবে ঠিক আছে, ডকার অবশ্যই আপনার জন্য কাজ করতে পারে!

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

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

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

  • ভ্যাগ্র্যান্ট উইন্ডোজ (এক্সপি-তে ফিরে), ম্যাক (10.5-এ ফিরে) এবং লিনাক্সে (কার্নেল ২.6-এ ফিরে) কাজ করে। তিনটি ক্ষেত্রেই কর্মপ্রবাহ একই রকম। আপনি যদি ডকার ব্যবহার করেন তবে ভ্যাগ্র্যান্ট এমন একটি মেশিন (ভিএম বা রিমোট) চালু করতে পারবেন যা এই তিনটি সিস্টেমে ডকার চালাতে পারে।

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

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

সুনির্দিষ্ট পাল্টা যুক্তিগুলি সমাধান করার জন্য যা আমি ভ্যাগ্র্যান্টের পরিবর্তে ডকার ব্যবহারের পক্ষে শুনেছি:

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

  • "এটি দ্রুত!" - একবার আপনার কাছে হোস্ট রয়েছে যা লিনাক্স পাত্রে চালাতে পারে, কোনও ভার্চুয়াল মেশিন চালু হওয়ার চেয়ে ডকার অবশ্যই একটি ধারক চালানোর ক্ষেত্রে দ্রুততর হয়। তবে ভার্চুয়াল মেশিন (বা রিমোট মেশিন) চালু করা এক সময়ের মূল্য। দিনের পরিক্রমায়, বেশিরভাগ ভ্যাগ্র্যান্ট ব্যবহারকারীরা আসলে তাদের ভিএম কখনই ধ্বংস করে না। এটি বিকাশের পরিবেশগুলির জন্য একটি অদ্ভুত অনুকূলতা। উত্পাদনে, যেখানে ডকার সত্যিই জ্বলজ্বল করে, আমি দ্রুত পাত্রে / ডাউন পাত্রে স্পিন করার প্রয়োজনীয়তাটি বুঝতে পারি।

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

উপসংহারে: অত্যন্ত সুনির্দিষ্ট ব্যবহারের ক্ষেত্রে ডকার অবশ্যই ভ্যাগ্র্যান্টের সম্ভাব্য প্রতিস্থাপন। বেশিরভাগ ব্যবহারের ক্ষেত্রে এটি হয় না। ভ্যাগ্র্যান্ট আপনার ডকারের ব্যবহারকে বাধা দেয় না; এটি অভিজ্ঞতাকে মসৃণ করতে আসলে যা করতে পারে তা করে। যদি আপনি এটি সত্য না দেখতে পান তবে বিষয়গুলির উন্নতির জন্য পরামর্শ গ্রহণে আমি খুশি, যেহেতু ভ্যাগ্র্যান্টের একটি লক্ষ্য কোনও সিস্টেমের সাথে সমানভাবে ভাল কাজ করা।

আশা করি এটি পরিষ্কার হয়ে যায়!


4
@ জারেডমার্কেল আমি মনে করি সম্ভবত তিনি একটি ওয়েব-ভিত্তিক পরিষেবা সন্ধান করছেন যা তাকে প্রোটোবক্সের মতো তার ভ্যাগ্র্যান্ট মেশিনগুলি পরিচালনা করতে দেয় ।
রায়ান কেনেডি

73
@ মিচেল আমি এ জাতীয় বিশদটি ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ বলতে চাই। স্পষ্টতই আপনার পক্ষে পুরোপুরি উদ্দেশ্যসম্পন্ন হওয়া অসম্ভব তাই আমি প্রশংসা করি যে আপনি যে সংক্ষিপ্তসারগুলি এবং বিভিন্ন পরিস্থিতিতে সেগুলি ব্যবহার করা যেতে পারে সেগুলি ব্যাখ্যা করার জন্য সময় নিয়েছিলেন। আমি মনে করি আজ বিভিন্ন সরঞ্জামকে ঘিরে অনেকগুলি বিভ্রান্তি হ'ল তারা প্রচুর পরিমাণে ওভারল্যাপ করে এবং অনেক লোক এক-আকারের ফিটনেস-সমস্ত সমাধান চায় যেখানে কেউ কেবল তাদের কী করতে হবে এবং তারা এটি প্রয়োগ করতে পারে। আপনার উত্তরের সৌন্দর্যটি এটি অন্তর্নিহিত প্রশ্নের উত্তর দেয়: আমি কীভাবে বিচ্ছিন্ন পরিবেশ তৈরি করতে পারি? (সরঞ্জাম নির্বিশেষে)
জর্ডান

4
@ জারেডমার্কেল ডকারের একটি REST এপিআই রয়েছে ডকস.ডোকার
রেফারেন্স /

3
@ OğuzÇelikdemir ভ্যাগ্র্যান্ট এর চেয়ে আরও অনেক বেশি কিছু করতে পারে। অবশ্যই, আপনি যদি প্রতিটি প্রকল্পের জন্য একটি নির্দিষ্ট ভার্চুয়াল মেশিন প্রস্তুত করেন তবে এটি স্থায়ী হবে। তবে উন্নয়নের সময় আমি প্রায়শই আরও পরিষেবা / ডেমন / সেটিংস যুক্ত করে শেষ করি (যেমন, যখন আমি উন্নয়নের সময় কোনও প্রকল্পের জন্য রবিট এমকিউ ব্যবহার করার সিদ্ধান্ত নিই)) বিশুদ্ধরূপে ভিএম পদ্ধতির প্রয়োজন হবে আপনি রাবিট এমকিউ ইনস্টল ও কনফিগার করে একটি নতুন চিত্র প্রস্তুত করুন এবং বিকাশকারীদের তাদের ভিএমকে এই নতুনটিতে পরিবর্তন করতে বাধ্য করুন। ভ্যাগ্র্যান্টের জন্য - আমি ভ্যাব্র্যান্ট কনগ্রুগ্রেশনে উপযুক্ত লাইন যুক্ত করছি এবং সমস্ত বিকাশকারী সহজেই তাদের ভিএম আপগ্রেড করতে পারেন (ব্যবহার করে vagrant provision)।
টমসজ স্ট্রুকজিস্কি

5
(আপনি "প্রকাশ" বলতে চাচ্ছি, গুরুত্বপূর্ণ কিছু প্রকাশক, না "দাবিত্যাগ", আত্মত্যাগী দায়িত্ব: english.stackexchange.com/q/115850 )
Jerry101

1418

আমি ডকার এর লেখক।

সংক্ষিপ্ত উত্তরটি হ'ল আপনি যদি মেশিনগুলি পরিচালনা করতে চান তবে আপনার ভ্যাগ্রেন্ট ব্যবহার করা উচিত। এবং আপনি যদি অ্যাপ্লিকেশন পরিবেশ তৈরি করতে এবং চালাতে চান তবে আপনার ডকার ব্যবহার করা উচিত।

ভার্চেন্ট হ'ল ভার্চুয়াল মেশিন পরিচালনার জন্য একটি সরঞ্জাম। ডকার হ'ল অ্যাপ্লিকেশনগুলিকে হালকা ওজনের পাত্রে প্যাকেজিং করে বিল্ডিং এবং মোতায়েনের জন্য একটি সরঞ্জাম। একটি ধারক তার নির্ভরতা (এক্সিকিউটেবল, লাইব্রেরি, কনফিগারেশন ফাইল, ইত্যাদি) পাশাপাশি যে কোনও সফ্টওয়্যার উপাদানকে ধরে রাখতে পারে এবং এটিকে একটি গ্যারান্টিযুক্ত এবং পুনরাবৃত্তযোগ্য রানটাইম পরিবেশে কার্যকর করতে পারে। এটি একবার আপনার অ্যাপ্লিকেশনটি তৈরি করা এবং এটি যে কোনও জায়গায় স্থাপন করা খুব সহজ করে তোলে - পরীক্ষার জন্য আপনার ল্যাপটপে, তারপরে লাইভ ডিপ্লোয়মেন্টের জন্য বিভিন্ন সার্ভারে ইত্যাদি etc.

এটি একটি সাধারণ ভুল ধারণা যা আপনি কেবল লিনাক্সে ডকার ব্যবহার করতে পারেন। এটা ভুল; আপনি ম্যাক এবং উইন্ডোজে ডকার ইনস্টল করতে পারেন। ম্যাক ইনস্টল করার সময় ডকার একটি ছোট লিনাক্স ভিএম (ডিস্কে 25 এমবি!) বান্ডিল করে যা আপনার ধারকটির মোড়ক হিসাবে কাজ করে। একবার ইনস্টল এটি সম্পূর্ণ স্বচ্ছ; আপনি ঠিক একইভাবে ডকার কমান্ড-লাইনটি ব্যবহার করতে পারেন। এটি আপনাকে উভয় পৃথিবীর সেরাটি দেয়: আপনি পাত্রে ব্যবহার করে আপনার অ্যাপ্লিকেশনটি পরীক্ষা এবং বিকাশ করতে পারেন, যা খুব হালকা ওজনের, পরীক্ষা করা সহজ এবং চারপাশে সরানো সহজ (উদাহরণস্বরূপ https://hub.docker.com এর সাথে পুনরায় ব্যবহারযোগ্য পাত্রে ভাগ করার জন্য দেখুন) ডকার সম্প্রদায়) এবং আপনার ভার্চুয়াল মেশিনগুলি পরিচালনা করার নিতান্ত-কৌতুকপূর্ণ বিশদ সম্পর্কে উদ্বিগ্ন হওয়ার দরকার নেই, যা যে কোনওভাবেই শেষ করার উপায়।

তত্ত্বের মধ্যে ডকারের জন্য অ্যাবস্ট্রাকশন স্তর হিসাবে ভ্যাগ্রান্ট ব্যবহার করা সম্ভব। আমি এর বিরুদ্ধে দুটি কারণে সুপারিশ করছি:

  • প্রথমত, ভ্যাগ্রান্ট ডকারের জন্য ভাল বিমূর্ততা নয়। ভার্চেন্ট ভার্চুয়াল মেশিনগুলি পরিচালনা করার জন্য ডিজাইন করা হয়েছিল। ডকার একটি অ্যাপ্লিকেশন রানটাইম পরিচালনা করার জন্য ডিজাইন করা হয়েছিল। এর অর্থ হ'ল নকশাকৃত, ডকার আরও ভালভাবে কোনও অ্যাপ্লিকেশনটির সাথে ইন্টারঅ্যাক্ট করতে পারে এবং অ্যাপ্লিকেশন রানটাইম সম্পর্কে আরও তথ্য রয়েছে has ডকারের আদিমগুলি হ'ল প্রক্রিয়াগুলি, লগ স্ট্রিমগুলি, পরিবেশের ভেরিয়েবলগুলি এবং উপাদানগুলির মধ্যে নেটওয়ার্ক লিঙ্ক। ভ্যাগ্র্যান্টের আদিমগুলি হ'ল মেশিন, ব্লক ডিভাইস এবং এসএসএস কী। ভ্যাগ্রান্ট কেবল স্ট্যাকের নীচে বসে থাকে এবং এটি কেবল একটি অন্য ধরণের মেশিনের ভান করে কেবল একটি পাত্রে সাথে আলাপচারিতা করতে পারে যে আপনি "বুট" করতে পারেন এবং "লগ ইন" করতে পারেন। সুতরাং, অবশ্যই, আপনি একটি ডকার প্লাগইন দিয়ে "ভ্যাগ্র্যান্ট আপ" টাইপ করতে পারেন এবং সুন্দর কিছু ঘটবে। এটি কি ডকার যা করতে পারে তার পূর্ণ প্রশস্ততার বিকল্প? কয়েক দিন নেটিভ ডকার চেষ্টা করে দেখুন এবং নিজের জন্য দেখুন :)

  • দ্বিতীয়ত, লক-ইন যুক্তি। "আপনি যদি ভ্যাগ্র্যান্টকে বিমূর্ততা হিসাবে ব্যবহার করেন তবে আপনাকে ডকারে লক করা হবে না!"। ভ্যাগ্র্যান্টের দৃষ্টিকোণ থেকে, যা মেশিনগুলি পরিচালনা করার জন্য তৈরি করা হয়েছে, এটি সঠিক ধারণা দেয়: পাত্রে কেবল অন্য ধরণের মেশিন নয়? অ্যামাজন ইসি 2 এবং ভিএমওয়্যারের মতো আমাদের অবশ্যই আমাদের প্রভিশন সরঞ্জামগুলি কোনও নির্দিষ্ট বিক্রেতার সাথে বেঁধে না দেওয়া উচিত! এটি লক-ইন তৈরি করবে - ভ্যাগ্র্যান্টের সাথে এটিকে বিমূর্ত করা আরও ভাল। এটি বাদে ডকারের বিন্দুটি পুরোপুরি মিস করে। ডকার বিধান মেশিন দেয় না; এটি আপনার অ্যাপ্লিকেশনটিকে একটি হালকা ওজনের পোর্টেবল রানটাইমগুলিতে আবৃত করে যা যে কোনও জায়গায় ফেলে দেওয়া যেতে পারে।

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

সংক্ষেপে: ভ্যাগ্র্যান্ট মেশিন পরিচালনার জন্য এবং ডকার অ্যাপ্লিকেশন পরিবেশ তৈরি এবং পরিচালনা করার জন্য।


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

7
@ ডেভিড এটি আরও বিস্তারিতভাবে এটি কভার করে: vagrantup.com/blog/…
মিশেল

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

10
আপনার প্রথম পয়েন্টটি পুরনো হয়ে গেছে যেহেতু ভাগ্রান্ট ডকারের
আল্প

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

86

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

আমার কাছে ভ্যাগ্র্যান্টের সাথে একটি শালীন পরিমাণের অভিজ্ঞতা আছে এবং এটির উচ্চ প্রস্তাব দিতে পারি। এটি অবশ্যই LXC ভিত্তিক পরিবর্তে ভিএম ভিত্তিক হওয়ার দিক থেকে আরও বেশি হেভিওয়েট সমাধান। তবে, আমি একটি শালীন ল্যাপটপ পেয়েছি (8 জিবি র‌্যাম, আই 5 / আই 7 সিপিইউ) বিকাশ সরঞ্জামের পাশাপাশি ভ্যাগ্রান্ট / ভার্চুয়ালবক্স ব্যবহার করে কোনও ভিএম চালাতে কোনও অসুবিধা নেই।

ভ্যাগ্র্যান্টের সাথে সত্যই দুর্দান্ত জিনিসগুলির মধ্যে একটি হল স্বয়ংক্রিয় কনফিগারেশনের জন্য পুতুল / শেফ / শেল স্ক্রিপ্টগুলির সাথে একীকরণ । আপনি যদি নিজের উত্পাদন পরিবেশকে কনফিগার করতে এই বিকল্পগুলির মধ্যে একটি ব্যবহার করেন তবে আপনি একটি বিকাশ পরিবেশ তৈরি করতে পারেন যা আপনি যাচ্ছেন ঠিক তেমনই নিকটবর্তী এবং আপনি যা চান তা ঠিক এটি।

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

মজার বিষয় হল, ভ্যাগ্র্যান্ট এবং ডকার আসলে প্রশংসামূলক হতে পারে। বিভিন্ন ভার্চুয়ালাইজেশন সরবরাহকারীদের সমর্থন করার জন্য ভ্যাগ্র্যান্টকে বাড়ানো যেতে পারে এবং সম্ভবত ডকর এমনই একজন সরবরাহকারী যা নিকট ভবিষ্যতে সমর্থন পায়। বিষয়টিতে সাম্প্রতিক আলোচনার জন্য https://github.com/dotcloud/docker/issues/404 দেখুন ।


7
বলছি, আমি ডকারের জন্য একটি পরীক্ষামূলক ভ্যাগ্রান্ট সরবরাহকারী প্রকাশ করেছি : github.com/fgrehm/docker-provider
fgrehm

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

1
ডকার হ'ল ওএসের ভার্চুয়ালাইজেশন imp এটি ভার্চুয়ালাইজেশন হিসাবে এটি ফাইল সিস্টেম, নেটওয়ার্কিং এবং একটি ধারকটিতে চলমান প্রক্রিয়াগুলি বিমূর্ত করে এবং বিচ্ছিন্ন করে।
jose.angel.jimenez

63

তারা খুব পরিপূরক হয়।

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

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

এখানে একটি সাধারণ ভ্যাগ্রান্ট ফাইল রয়েছে

# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "mark2"
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
  [3000, 5000, 2345, 15672, 5672, 15674, 27017, 28017, 9200, 9300, 11211, 55674, 61614, 55672, 5671, 61613].each do |p|
    config.vm.network :forwarded_port, guest: p, host: p
  end
  config.vm.network :private_network, ip: "192.168.56.20"
  config.vm.synced_folder ".", "/vagrant", :type => "nfs"
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
  end
  # Bootstrap to Docker
  config.vm.provision :shell, path: "script/vagrant/bootstrap", :privileged => true
  # Build docker containers
  config.vm.provision :shell, path: "script/vagrant/docker_build", :privileged => true
  # Start containers
  # config.vm.provision :shell, path: "script/vagrant/docker_start", :privileged => true
end

বুটস্ট্র্যাপ ফাইল যা ডকার ইনস্টল করে এটি দেখতে দেখতে ভাল লাগে

#!/usr/bin/env bash
echo 'vagrant  ALL= (ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers
apt-get update -y
apt-get install htop -y
apt-get install linux-image-extra-`uname -r` -y
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list
apt-get update -y
apt-get install lxc-docker -y
apt-get install curl -y

এখন আমার যে সমস্ত পরিষেবা চালানো দরকার সেগুলি পেতে আমার কাছে একটি ডকার_স্টার্ট স্ক্রিপ্ট রয়েছে যা দেখতে কিছুটা সুন্দর দেখাচ্ছে

#!/bin/bash
cd /vagrant
echo Starting required service containers
export HOST_NAME=192.168.56.20
# Start MongoDB
docker run --name=mongodb --detach=true --publish=27017:27017 --publish=28017:28017 dockerfile/mongodb
read -t5 -n1 -r -p "Waiting for mongodb to start..." key
# Start rabbitmq
docker run --name=rabbitmq --detach=true --publish=5671:5671 --publish=5672:5672 --publish=55672:55672 --publish=15672:15672 --publish=15674:15674 --publish=61613:61613 --env RABBITMQ_USER=guest --env RABBITMQ_PASS=guest rabbitmq
read -t5 -n1 -r -p "Waiting for rabbitmq to start..." key
# Start cache
docker run --name=memcached --detach=true --publish=11211:11211  ehazlett/memcached
read -t5 -n1 -r -p "Waiting for cache to start..." key
# Start elasticsearch
docker run --name=elasticsearch --detach=true --publish=9200:9200 --publish=9300:9300 dockerfile/elasticsearch
read -t5 -n1 -r -p "Waiting for elasticsearch to start..." key
echo "All services started"

এই উদাহরণে আমি মঙ্গোডিবি, ইলাস্টিস অনুসন্ধান, রাবিট এমকিউ এবং মেমক্যাচ চালাচ্ছি

একটি নন-ডকার শেফ একক কনফিগারেশন যথেষ্ট জটিল হবে।

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

আপনি যদি আগ্রহী হন তবে আমার নিজের ওয়েবসাইটে বিকাশের পরিবেশ সম্পর্কে আরও বিস্তারিত নিবন্ধ আছে

একটি ভ্যাগ্রান্ট / ডকার ডেভলপমেন্ট এনভায়রনমেন্ট বাস্তবায়ন করা


2
আপনি সেই সমস্ত ডকার_স্টার্ট অর্কেস্টেশন করেছিলেন তবে পাত্রে একসাথে সংযোগ করার ঝামেলা করেননি। আপনি কেবল হার্ড কোডড পোর্ট নম্বর নিয়ে যাচ্ছেন কারণ আপনি এটিকে ভ্যাগ্রেন্টের অধীনে চালাচ্ছেন?
ওয়াইনসোকড

6
হাই ওয়াইনসোকেড, উপরের উদাহরণটিতে সেই সমস্ত ধারকটি প্রদর্শিত হয়নি যা প্রকৃতপক্ষে সমস্ত পরিষেবা ব্যবহার করে। যদি আপনি উল্লিখিত ব্লগ পোস্টটি লক্ষ্য করেন তবে অন্য একটি স্ক্রিপ্ট স্ক্রিপ্ট / যোগ্রান্ট / ডকার_উইব রয়েছে যা প্রকল্পের জন্য বিকাশকারী ধারকটিকে আগুন ধরিয়ে দেয়। এটি প্রকৃতপক্ষে ডকার রান কমান্ডে --link ব্যবহার করে এবং রেল প্রকল্প পরিষেবাগুলিতে সংযোগ স্থাপনের জন্য ডকার ইনজেকশন পরিবেশ পরিবর্তনশীল ব্যবহার করে।
মার্ক স্ট্র্যাটম্যান

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

8
"তারা খুব প্রশংসামূলক।" - উভয়ই প্রকৃতপক্ষে ব্যবহারের জন্য স্বাধীন।
আনডেরেক্স

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

53

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


5
এবং প্রকল্পটির সরাসরি লিঙ্কটি এখানে রয়েছে github.com/fgrehm/vagrant-lxc
জার্টাস

46

ভ্যাগ্র্যান্টের সাথে এখন আপনি সরবরাহকারী হিসাবে ডকার রাখতে পারেন। http://docs.vagrantup.com/v2/docker/ । ভার্চুয়ালবক্স বা ভিএমওয়্যারের পরিবর্তে ডকার সরবরাহকারী ব্যবহার করা যেতে পারে।

দয়া করে নোট করুন যে আপনি ভ্যাগ্র্যান্টের সাথে প্রভিশন দেওয়ার জন্য ডকারও ব্যবহার করতে পারেন। এটি সরবরাহকারীর হিসাবে ডকার ব্যবহার করার চেয়ে খুব আলাদা। http://docs.vagrantup.com/v2/provisioning/docker.html

এর অর্থ আপনি শেফ বা পুতুলকে ডকারের সাথে প্রতিস্থাপন করতে পারেন । আপনি প্রফেসর হিসাবে শেফের সাথে ডকারের মতো সরবরাহকারীর (ভিএম) সংমিশ্রণগুলি ব্যবহার করতে পারেন। অথবা আপনি সরবরাহকারীর হিসাবে ভার্চুয়ালবক্স এবং প্রযোজক হিসাবে ডকার ব্যবহার করতে পারেন।


23
ওয়ার্ল্ড স্রেফ পাগল হয়ে গেছে;) আমরা যোদ্ধাদের ভিতরে ডকার পাত্রে চালানোর জন্য ডকার সরবরাহকারীর সাহায্যে ভ্যাংগার চালাতে পারি
আন্দ্রেজ রেহমান

@ জেনেইঞ্জিনেজার, উইন্ডোজ-এ ভ্যাগ্র্যান্টের জন্য ডকার সরবরাহকারী এখনও বুট 2 ডকার ব্যবহার করে বা এটি ডকার টুলবক্সের কিছু বৈকল্পিক ব্যবহার করে?
ডেরেক মাহর

@ জেনেনিগেইনার আপনার কাছে কি উদাহরণস্বরূপ উদাহরণগুলির সাথে কিছু লিঙ্ক রয়েছে (ভ্যাগ্র্যান্ট ডকস নয়)?
wlad

16

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

চিন্তাভাবনা এরকম কিছু হয়:

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

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

একজন বিকাশকারী হিসাবে আমি ক্রমাগত এবং ধারাবাহিকভাবে ভিএমগুলিতে পাত্রে বিতরণ করছি এবং অ্যাপ্লিকেশনটিকে আরও সামগ্রিকভাবে পরীক্ষা করার অর্থ হ'ল উত্পাদন প্রকাশগুলি আরও সরল করা হবে।

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


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

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

10

অবশ্যই জয়ের জন্য ডকার!

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

অবশ্যই নিজের পিটফালস এবং চ্যালেঞ্জগুলির সাথে যত্ন নেওয়ার জন্য একটি নতুন শৃঙ্খলা।

আপনার প্রয়োজনীয়তা যদি একক মেশিন সংস্থান সীমা অতিক্রম করে তবে ডকার সোর্মের জন্য যান।


8

ভ্যাগ্র্যান্ট (এবং পুতুল) এর সাথে মিলিয়ে ডকার ব্যবহার সম্পর্কে প্রকৃত ওরাকল জাভা ম্যাগাজিনে একটি সত্যই তথ্যমূলক নিবন্ধ রয়েছে:

উপসংহার

ডকারের লাইটওয়েট কনটেইনারগুলি ক্লাসিক ভিএমগুলির সাথে তুলনায় দ্রুততর হয় এবং বিকাশকারীদের মধ্যে এবং সিডি এবং ডিওপস উদ্যোগের অংশ হিসাবে জনপ্রিয় হয়ে উঠেছে। যদি আপনার উদ্দেশ্য বিচ্ছিন্ন হয় তবে ডকার একটি দুর্দান্ত পছন্দ। ভ্যাগ্র্যান্ট এমন একটি ভিএম ম্যানেজার যা আপনাকে পৃথক ভিএমগুলির স্ক্রিপ্ট কনফিগারেশনের পাশাপাশি প্রভিশিং করতে সক্ষম করে। তবে এটি ভার্চুয়ালবক্সের উপর নির্ভরশীল ভিএম নির্ভর (বা অন্য কোনও ভিএম পরিচালক) তুলনামূলকভাবে বড় ওভারহেড। এটির জন্য আপনার হার্ড ড্রাইভ নিষ্ক্রিয় হওয়া দরকার যা বিশাল হতে পারে, এটি প্রচুর পরিমাণে র‍্যাম নেয় এবং পারফরম্যান্স সাব-থিম হতে পারে। ডকার LXC এর মাধ্যমে কার্নেল সিগ্রুপ এবং নেমস্পেস বিচ্ছিন্নতা ব্যবহার করে। এর অর্থ আপনি হোস্ট এবং একই আইল সিস্টেমের মতো একই কার্নেলটি ব্যবহার করছেন। ভ্যাব্র্যান্ট বিমূর্ততার ক্ষেত্রে ডকারের উপরে একটি স্তর, তাই এগুলি আসলে তুলনামূলক নয়। কনফিগারেশন পরিচালনার সরঞ্জামগুলি যেমন পুতুল লক্ষ্য পরিবেশের ব্যবস্থা করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। বিদ্যমান পুতুল-ভিত্তিক সমাধানগুলি পুনরায় ব্যবহার করা ডকারের সাথে সহজ। আপনি নিজের সমাধানটি টুকরো টুকরো টুকরো করতে পারেন, তাই পুটপেটের সাথে পরিকাঠামো সরবরাহ করা হয়েছে; মিডলওয়্যার, ব্যবসায়ের অ্যাপ্লিকেশন নিজেই বা উভয়ই ডকারের সাথে সরবরাহ করা হয়েছে; এবং ডকার ভ্যাগ্র্যান্ট দ্বারা আবৃত। এই পরিসরের সরঞ্জামগুলির সাহায্যে আপনি আপনার দৃশ্যের জন্য সবচেয়ে ভাল যা করতে পারেন।

ডিভোপস http://www.javamagazine.mozaicreader.com/JulyAug2015#&pageSet=34&page=0- এ ডকার পাত্রে কীভাবে তৈরি, ব্যবহার এবং অর্কেস্ট্রেট করা যায়


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