Dockerfile হল একটি টেক্সট ফাইল যা Docker Image তৈরি করতে প্রয়োজনীয় নির্দেশাবলী ধারণ করে। বিভিন্ন নির্দেশাবলী (অথবা উপাদান) ব্যবহার করে আমরা একটি কাস্টম Docker Image তৈরি করতে পারি। এখানে Dockerfile-এর প্রধান উপাদানগুলি: FROM, RUN, CMD, এবং COPY সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. FROM
- বর্ণনা:
FROMনির্দেশাবলী হল Dockerfile-এর প্রথম নির্দেশনা যা একটি বেস ইমেজ নির্বাচন করে। এটি নতুন ইমেজ তৈরির জন্য ভিত্তি হিসেবে কাজ করে। - ব্যবহার:এখানে,
ubuntu:latestহল একটি বেস ইমেজ যা Ubuntu অপারেটিং সিস্টেমের সর্বশেষ সংস্করণকে নির্দেশ করে।
FROM ubuntu:latest২. RUN
- বর্ণনা:
RUNনির্দেশাবলী ব্যবহৃত হয় কনটেইনার তৈরি করার সময় কমান্ডগুলি চালানোর জন্য। এটি একটি নতুন লেয়ার তৈরি করে এবং সাধারণত সফটওয়্যার বা প্যাকেজ ইনস্টল করতে ব্যবহৃত হয়।
RUN apt-get update && apt-get install -y python3- ব্যবহার:এখানে, এই কমান্ডটি Ubuntu ইমেজে Python3 ইনস্টল করবে এবং একটি নতুন লেয়ার তৈরি করবে।
৩. CMD
- বর্ণনা:
CMDনির্দেশাবলী ব্যবহার করা হয় কনটেইনার শুরু হওয়ার সময় ডিফল্ট কমান্ড বা অ্যাপ্লিকেশন চালানোর জন্য।CMDনির্দেশনাটি কনটেইনারের সর্বশেষ চালনার জন্য ব্যবহৃত হয় এবং কনটেইনারটি যখন চালু হয় তখন এটি কার্যকর হয়। - ব্যবহার:
CMD ["python3", "./app.py"]- এখানে, কনটেইনারটি চালু হলে
app.pyফাইলটি Python3 দিয়ে চালানো হবে।CMDকমান্ডের ব্যবহার থেকে বেরিয়ে যাওয়ার সময় এটি প্রতিস্থাপিত হতে পারে।
৪. COPY
- বর্ণনা:
COPYনির্দেশাবলী ব্যবহার করা হয় লোকাল ফাইল সিস্টেম থেকে কনটেইনারের ফাইল সিস্টেমে ফাইল বা ডিরেক্টরি কপি করার জন্য। - ব্যবহার:এখানে,
requirements.txtফাইলটি Dockerfile যেখানে অবস্থিত সেখানে থেকে কনটেইনারের বর্তমান কাজের ডিরেক্টরিতে কপি করা হবে।
উদাহরণ Dockerfile
একটি সম্পূর্ণ Dockerfile উদাহরণ নিচে দেওয়া হলো যা উপরোক্ত সমস্ত উপাদানগুলি ব্যবহার করে:
# বেস ইমেজ নির্বাচন
FROM python:3.9-slim
# কাজের ডিরেক্টরি তৈরি করুন
WORKDIR /usr/src/app
# প্রয়োজনীয় ফাইল কপি করুন
COPY requirements.txt ./
# নির্ভরশীলতা ইনস্টল করুন
RUN pip install --no-cache-dir -r requirements.txt
# অ্যাপ্লিকেশন ফাইল কপি করুন
COPY . .
# অ্যাপ্লিকেশন চালানোর জন্য কমান্ড নির্ধারণ করুন
CMD ["python", "./app.py"]
সারসংক্ষেপ
- FROM: বেস ইমেজ নির্বাচন করে।
- RUN: কনটেইনার তৈরি করার সময় কমান্ড চালায়।
- CMD: কনটেইনার শুরু হলে ডিফল্ট কমান্ড চালায়।
- COPY: লোকাল ফাইল সিস্টেম থেকে ফাইল বা ডিরেক্টরি কনটেইনারের ফাইল সিস্টেমে কপি করে।
এই উপাদানগুলির সাহায্যে Dockerfile তৈরি করে একটি কাস্টম Docker Image তৈরি করা সম্ভব। Dockerfile হল Docker-এর জন্য একটি গুরুত্বপূর্ণ উপাদান যা অটোমেশন এবং পুনঃব্যবহারযোগ্যতা নিশ্চিত করে।
Content added By
Read more