Real-World Project: Static Website with Nginx
এই প্রজেক্টে আমরা শিখব কীভাবে একটি সিম্পল স্ট্যাটিক ওয়েবসাইট (HTML/CSS) ডকার এবং Nginx ব্যবহার করে হোস্ট করা যায়। এটি ডকার শেখার জন্য একদম প্রাথমিক কিন্তু অত্যন্ত কার্যকর একটি প্রজেক্ট।
প্রজেক্টের লক্ষ্য
- একটি কাস্টম HTML এবং CSS ফাইল তৈরি করা।
- ডকারফাইল (Dockerfile) লিখে Nginx সার্ভার সেটআপ করা।
- কন্টেইনার ইমেজ বিল্ড করা এবং তা রান করা।
- ব্রাউজারে আউটপুট ভেরিফাই করা।
১. প্রজেক্ট স্ট্রাকচার
প্রথমে আপনার কম্পিউটারে একটি ফোল্ডার তৈরি করুন এবং নিচের ফাইলগুলো রাখুন:
static-site-project/
├── index.html
├── style.css
└── Dockerfile২. ফাইলগুলো তৈরি করা
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My Dockerized Website</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
<h1>স্বাগতম ডকার দুনিয়ায়! 🐳</h1>
<p>
এটি একটি স্ট্যাটিক ওয়েবসাইট যা এনজিনক্স (Nginx) কন্টেইনার দিয়ে সার্ভ করা
হচ্ছে।
</p>
</div>
</body>
</html>style.css
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.container {
text-align: center;
background: white;
padding: 50px;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
h1 {
color: #007bff;
}Dockerfile
# ১. বেস ইমেজ হিসেবে অফিসিয়াল Nginx ব্যবহার করছি
FROM nginx:alpine
# ২. আমাদের লোকাল ফাইলগুলো Nginx এর ডিফল্ট ডিরেক্টরিতে কপি করছি
COPY index.html /usr/share/nginx/html/
COPY style.css /usr/share/nginx/html/
# ৩. পোর্ট ৮০ এক্সপোজ করছি
EXPOSE 80৩. বিল্ড এবং রান
ইমেজ বিল্ড করা
টার্মিনালে প্রজেক্ট ফোল্ডারে গিয়ে নিচের কমান্ডটি রান করুন:
docker build -t my-static-site .কন্টেইনার রান করা
এখন ইমেজটি থেকে একটি কন্টেইনার চালু করুন:
docker run -d -p 8080:80 --name my-website my-static-siteএখানে -p 8080:80 মানে হলো আপনার মেশিনের ৮০৮০ পোর্ট দিয়ে কন্টেইনারের ৮০ পোর্টে ঢোকা যাবে।
৪. ভেরিফিকেশন
আপনার ব্রাউজারে গিয়ে টাইপ করুন: http://localhost:8080
আপনি একটি সুন্দর স্বাগতম বার্তা দেখতে পাবেন। অভিনন্দন! আপনি সফলভাবে আপনার প্রথম ডকার প্রজেক্ট সম্পন্ন করেছেন।
৫. ডকার এনভায়রনমেন্ট ক্লিনআপ
কাজ শেষে কন্টেইনারটি বন্ধ এবং রিমুভ করতে:
docker stop my-website
docker rm my-websiteসারাংশ
এই ছোট প্রজেক্টের মাধ্যমে আমরা শিখলাম কীভাবে একটি অ্যাপ্লিকেশনকে (এখানে একটি সাধারণ ওয়েবসাইট) ডকার ইমেজে প্যাক করে যেকোনো জায়গায় সমানভাবে চালানো যায়। পরবর্তী প্রজেক্টগুলোতে আমরা আরও কমপ্লেক্স স্ট্যাক নিয়ে কাজ করব।