ই-বুক: সহজ ভাষায় ডকার ফাইল ও লনাক্স কমান্ড শখা প্র স্ত াবনা ডকার আজেকর সফটওয়্য ার ডেভলপেমন্ট জগেত একটি অপিরহায প্র যু ক্ত । এটি আমােদরেক দ্রু ত, হালকা, এবং পােট বল পিরেবেশ অ্য াি েকশন চালােত দয়। এই ই-বুেক আমরা ডকার ফাইল, এর গঠন, এবং লনােক্স র ব সক কমান্ড িশখব এেকবাের শু রু থেক। অধ্য ায় ১: ডকার কী এবং কন ব্য বহার করেবন ● ডকার মূলত কে ইনারাইেজশন প্র যু ক্ত ব্য বহার কের। ● এটি একটি ছাট ও আইেসােলেটড পিরেবশ তির কের যখােন অ্য াি েকশন ও তার িডেপেন্ড একসােথ চেল। ● প্র ধান সুিবধা: ○ ✅ একই পিরেবেশ রান করা – ডেভলপেমন্ট থেক প্র াডাকশন পয ন্ত একরকম আচরণ করেব। ○ ✅ হালকা ও দ্রু ত – ভাচু য়াল মিশেনর তুলনায় অেনক কম িরেসাস ব্য বহার কের। ○ ✅ সহজ িডস্ট্রি িবউশন – একবার ইেমজ তির হেল সটি যেকােনা সাভ াের চালােনা যায়। অধ্য ায় ২: লনােক্স র ব সক কমান্ড শখা ডকার যেহতু মূলত লনােক্স চেল, তাই িকছ ু লনাক্স কমান্ড জানা জরু ির। গু রু ত্ব পূণ কমান্ড ● pwd – বত মােন আপিন কান িডেরক্ট িরেত আেছন তা দখায়। ● ls – ফাল্ড ার বা ফাইেলর লস্ট দখায়। ○ ls -a → িহেডন ফাইলও দখােব। ○ ls -l → িডেটইলড লস্ট (পারিমশন, সাইজ ইত্য ািদ) দখােব। ● cd ফাল্ড ার_নাম – ফাল্ড ােরর িভতের প্র েবশ করেত। ● cd .. – এক ধাপ উপেরর ফাল্ড াের যেত। ● rm ফাইল – ফাইল িড লট করেত। ● rm -r ফাল্ড ার – ফাল্ড ার সহ সবিকছ ু িড লট করেত। 🔑 মূল িশক্ষ া লনােক্স সবিকছ ু িডেরক্ট ির-িভি ক। রু ট িডেরক্ট ির / থেক সব শু রু হয়। এই নিভেগশন বুেঝ নওয়া খুব জরু ির কারণ ডকার কেন্ট ইনােরর িভতেরও এই ধারণাই ব্য বহার হেব। অধ্য ায় ৩: ডকার কে ইনার চালােনা ডকাের কেন্ট ইনার চালােনার জন্য ব্য বহার করা হয় docker run কমান্ড । গু রু ত্ব পূণ অপশন ● --rm → কেন্ট ইনার বন্ধ হেল স্ব য়ং য়ভােব িড লট হেব। ● -it → ইন্ট ােরক্টি ভ মােড চালােব, যােত আপিন কেন্ট ইনােরর িভতের কমান্ড চালােত পােরন। ● -p হাস্ট _ পাট :কেন্ট ইনার_ পাট → পাট ম্য ািপং কের যােত হাস্ট থেক অ্য ােক্স স করা যায়। উদাহরণ docker run --rm -it ubuntu:20.04 এটি একটি উবুন্ট ু কেন্ট ইনার চালু করেব এবং আপনােক তার শেলর মেধ্য িনেয় যােব। অধ্য ায় ৪: িপএইচিপ ও এপািচ ইনস্ট ল করা (ম্য ানুয়াল পদ্ধ িত) যিদ আপনােক একদম খা ল সাভ াের িপএইচিপ চালােনার উপযুক্ত পিরেবশ বানােত হয়, তাহেল ধাপগু েলা হেব: প্য ােকজ লস্ট আপেডট করা apt-get update 1. এপািচ ও িপএইচিপ ইনস্ট ল করা DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 php libapache2-mod-php 2. এপািচ সা ভস চালু করা service apache2 start 3. টস্ট ফাইল তির করা echo "<?php phpinfo(); ?>" > /var/www/html/index.php 4. হাস্ট ব্র াউজাের িগেয় দখুন – িপএইচিপ ইনেফা পজ দখা উিচত। অধ্য ায় ৫: ডকার ফাইল লখা ম্য ানুয়া ল কেন্ট ইনাের ইনস্ট ল করার পিরবেত আমরা ডকার ফাইল ব্য বহার কের সবিকছ ু অেটােমট কির। উদাহরণ ডকারফাইল FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y apache2 php libapache2-mod-php COPY index.php /var/www/html/ RUN service apache2 start ব্য াখ্য া ● FROM → কান বস ইেমজ ব্য বহার করব। ● ENV → এনভায়রনেমন্ট ভিরেয়বল সট করা। ● RUN → কেন্ট ইনােরর িভতের কমান্ড চালােনা। ● COPY → হাস্ট থেক ফাইল কেন্ট ইনাের কিপ করা। অধ্য ায় ৬: ডকার ইেমজ িবল্ড ও রান করা ডকারফাইল তির করার পর: ইেমজ তির করা docker build -t myuser/php-apache . 1. কে ইনার চালােনা docker run --rm -it -p 9090:80 myuser/php-apache 2. ব্র াউজাের http://localhost:9090 এ িগেয় ফলাফল দখুন। অধ্য ায় ৭: ডকােরর ক্য াশ ও লয়ািরং কনেসপ্ট ● প্র িতটি RUN , COPY , ADD কমান্ড ডকার ইেমেজ একটি লয়ার তির কের। ● যিদ িবেল্ড র সময় কােনা ধােপ এরর হয়, পেররবার একই কমােন্ড পৌঁছােনা পয ন্ত পুরােনা লয়ারগু েলা ক্য াশ থেক ব্য বহার হয়। ● লয়ার কমােনা ইেমজেক ছাট কের এবং িবল্ড দ্রু ত কের। অধ্য ায় ৮: সাধারণ সমস্য া ও সমাধান ● টাইমেজান ইনপুট চাে : DEBIAN_FRONTEND=noninteractive ব্য বহার করু ন। ● পাট অ্য ােক্স স হে না: ডকার রান করার সময় পাট ম্য ািপং িঠকমত িদেয়েছন িকনা দখুন। ● ইেমজ বড় হেয় যাে : কমান্ড গু েলা এক লাইেন চইন করু ন এবং অপ্র েয়াজনীয় ফাইল মুেছ ফলুন। অধ্য ায় ৯: ভিবষ্য ৎ উন্ন য়ন ● CMD বা ENTRYPOINT ব্য বহার করা: যােত কেন্ট ইনার চালু হেল এপািচ িনেজ থেকই চালু হয়। ● Alpine Linux ব্য বহার করা: অেনক হালকা ইেমজ, যার ফেল সাইজ ও িবল্ড টাইম আরও কেম যােব। ● ডকার-কে াজ শখা: একািধক সা ভস একসােথ ম্য ােনজ করেত সুিবধা হেব। সারসংেক্ষ প ও মূল িশক্ষ া ● ডকার আপনােক পুনরায় ব্য বহারেযাগ্য ও পােট বল ডেভলপেমন্ট এনভায়রনেমন্ট তির করেত সাহায্য কের। ● লনােক্স র ব সক কমান্ড জানা থাকেল ডকার ব্য বহার অেনক সহজ হেয় যায়। ● ডকারফাইল ব্য বহার করেল ম্য ানুয়াল সটআপ বাদ িদেয় সবিকছ ু স্ব য়ং য় করা যায়। ● সিঠকভােব লয়ার ব্য বস্থ াপনা ও অপটিমাইজ করেল ইেমজ ছাট এবং দ্রু ত হেব।