ভার্চুয়ালাইজেশন এখন পর্যন্ত সবচেয়ে সহজ।
তবে আপনার কাছে এখানে 2 পৃথক ব্যবহারের কেস রয়েছে, যার বিভিন্ন সমাধান হবে
1. নতুন ডিস্ট্রো চেষ্টা করে দেখুন
ডিস্ট্রিবিউশনগুলি মূলত প্যাকেজযুক্ত অ্যাপ্লিকেশন এবং ব্যবহারকারী স্থান পরিবেশ দ্বারা নির্ধারিত হয় (যেমন বুটের জন্য SystemD
বনাম init
)
আপনি যদি গুণগতভাবে কোনও আলাদা বিতরণের ইউআইএক্সের "মূল্যায়ন" করতে চান তবে আমি আপনাকে পূর্ণ-বিকাশিত ভার্চুয়ালাইজেশনের সুপারিশ করব যেখানে আপনি ওএসটিকে সম্পূর্ণরূপে ইনস্টল করেন এবং এর ব্যবহারযোগ্যতার মূল্যায়ন করেন। এটি অন্যান্য উত্তরে পর্যাপ্ত পরিমাণে আচ্ছাদিত।
পরীক্ষার জন্য যদি আপনার কেবল ইউজারস্পেসের পরিবেশ প্রয়োজন হয় তবে পড়ুন।
২. বিভিন্ন পরিবেশে পরীক্ষা করা এবং "থ্রো-অ্যাভ দৃষ্টান্তগুলি"
কনটেইনারাইজেশন ব্যবহার করা সহজ, সস্তা এবং দ্রুততর, হালকা ওজনের ভার্চুয়ালাইজেশনের একধরণের যা স্যান্ডবক্সযুক্ত পরিবেশ তৈরিতে কার্নেল ব্যবহার করে।
একটি ধারক হোস্টের সাথে কার্নেল সংস্থানগুলি ভাগ করে, তবে অন্যথায় এর নিজস্ব রুট ফাইল সিস্টেম, ইউজারস্পেস, নেটওয়ার্ক স্ট্যাক ইত্যাদি chroot
রয়েছে concept এটি স্টেরয়েডস হিসাবে ধারণা হিসাবে ধারণা করা যেতে পারে । তবে, কার্নেলটি ভাগ করা হওয়ায় ভার্চুয়ালাইজেশনটি "পাতলা", যার অর্থ বেশিরভাগ ব্যবহারিক উদ্দেশ্যে এটি হোস্ট ওএসের মতো একই গতিতে চলে।
সাধারণত ব্যবহৃত পাত্রে সিস্টেম বলা হয় docker
। আপনার পছন্দ মতো প্রতিটি লিনাক্স বিতরণের জন্য ডকারের মানসম্পন্ন চিত্র রয়েছে এবং এটি উইন্ডোতে চলতে থাকে (তবে উইন্ডোজ চিত্রগুলি কেবল উইন্ডোতে কাজ করে, লিনাক্স চিত্র উভয় ক্ষেত্রেই কাজ করে)। স্থান এবং কর্মক্ষমতা বাঁচাতে এর অতিরিক্ত দরকারী বৈশিষ্ট্য রয়েছে।
লিনাক্সের মতো নেটিভ ওপেন সোর্স বিকল্প রয়েছে LXC
(যা কার্নেলের মধ্যে নির্মিত!), যা একই জিনিসটিতে ব্যবহার করা যেতে পারে (তবে আরও কনফিগারেশন প্রয়োজন)।
সরলীকরণের মধ্যে পরীক্ষা বা বিল্ডিং পরিবেশের উদাহরণ docker
# Dockerfile
FROM ubuntu:17.10
RUN apt-get update && apt-get install -y build-essential
WORKDIR /workdir
docker build --tag my-builder .
তারপরে কমান্ড লাইন থেকে, আপনার প্রকল্পটি বা সেই পরিবেশে বিভিন্ন উপায়ে পরীক্ষা করুন comp
"লগইন" এবং পরিবেশের মধ্যে সংকলন, পরীক্ষা চালানো ইত্যাদি ইত্যাদি ধরে নিচ্ছেন যে আপনি আপনার প্রকল্পের উত্স ডিরেক্টরিতে আছেন
$ docker run -v "$PWD:/workdir" --rm -it my-builder /bin/bash
# echo "Now in docker container"
# make
...
# build/test/my-test
...
# exit
$ echo "Build artifacts are now on your host OS Directory :) "
ওয়ান-অফ হিসাবে ব্যবহার করুন
$ docker run -v "$PWD:/workdir" --rm my-builder make
এমনকি আপনি পরিবেশের ভেরিয়েবলগুলিও পাস করতে পারেন
$ docker run -e "CROSS_COMPILE=arm-linux-gnueabi" -v "$PWD:/workdir" --rm my-builder make
অথবা একটি অবিরাম উদাহরণ শুরু করুন এবং এতে ফাইলগুলি স্পষ্টভাবে অনুলিপি করুন
$ Start our instance in background
$ docker run --name my-builder-inst -d my-builder
$ echo "Copy files to instance"
$ docker cp /my/source/dir my-builder-inst:/workdir
$ echo "run project build"
$ docker exec my-builder-inst make
$ echo "copy build artifacts"
$ docker cp my-builder-inst:/workdir/build /my/output/dir
$ echo "destroy and delete container"
$ docker rm -f my-builder-inst
আক্ষরিক অর্ধেক অন্যান্য ব্যবহারের নিদর্শন রয়েছে, তবে স্ক্রিপ্টের মতো চিত্র সংজ্ঞা, প্রসারণযোগ্য চিত্র এবং কমান্ড লাইন ব্যবহার বিকাশ, পরীক্ষা এবং এমনকি স্থাপনার পরিবেশের জন্য এটি অত্যন্ত আকর্ষণীয় করে তোলে