Docker Compose ব্যবহার করে একটি Multi-container Application তৈরি করা একটি সহজ প্রক্রিয়া। নিচে একটি উদাহরণ দেওয়া হলো যেখানে আমরা একটি সিম্পল Flask ওয়েব অ্যাপ্লিকেশন তৈরি করব, যেটি MySQL ডাটাবেসের সাথে সংযুক্ত থাকবে।
প্রথমে নিশ্চিত করুন যে আপনার সিস্টেমে Docker এবং Docker Compose ইনস্টল করা আছে।
নতুন একটি ডিরেক্টরি তৈরি করুন এবং সেখানে যান:
mkdir my-flask-app
cd my-flask-app
app.py
ফাইল তৈরি করাapp.py
নামে একটি ফাইল তৈরি করুন এবং নিচের কোডটি লিখুন:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:password@db/mydatabase'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
@app.route('/')
def home():
return "Hello, Docker World!"
@app.route('/users', methods=['POST'])
def add_user():
name = request.json['name']
new_user = User(name=name)
db.session.add(new_user)
db.session.commit()
return jsonify({'message': 'User added!'}), 201
if __name__ == '__main__':
db.create_all() # ডাটাবেস তৈরি করুন
app.run(host='0.0.0.0', port=5000)
requirements.txt
ফাইল তৈরি করাrequirements.txt
নামের একটি ফাইল তৈরি করুন এবং এতে নিচের লাইনগুলি যোগ করুন:
Flask==2.1.1
Flask-SQLAlchemy==2.5.1
PyMySQL==1.0.2
Dockerfile
নামে একটি নতুন ফাইল তৈরি করুন এবং নিচের কনটেন্টটি যোগ করুন:
# বেস ইমেজ হিসাবে Python ব্যবহার করুন
FROM python:3.9-slim
# কাজের ডিরেক্টরি সেট করুন
WORKDIR /app
# requirements.txt ফাইল কপি করুন এবং নির্ভরতাগুলি ইনস্টল করুন
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# অ্যাপ্লিকেশন কোড কপি করুন
COPY app.py .
# অ্যাপ্লিকেশন চালানোর জন্য কমান্ড নির্ধারণ করুন
CMD ["python", "app.py"]
docker-compose.yml
নামে একটি ফাইল তৈরি করুন এবং নিচের কনটেন্টটি যোগ করুন:
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- db
environment:
- FLASK_ENV=development
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: mydatabase
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
Docker Compose ফাইল তৈরি করার পর, নিচের কমান্ডটি ব্যবহার করে সব সার্ভিস চালান:
docker-compose up
এটি আপনার Flask অ্যাপ্লিকেশন এবং MySQL ডাটাবেস কন্টেইনার চালু করবে।
অবশেষে, আপনার ব্রাউজারে http://localhost:5000
তে যান। আপনি "Hello, Docker World!" বার্তাটি দেখতে পাবেন।
আপনি Postman বা curl ব্যবহার করে /users
এ POST অনুরোধ পাঠিয়ে নতুন ব্যবহারকারী যোগ করতে পারেন:
curl -X POST http://localhost:5000/users -H "Content-Type: application/json" -d '{"name": "John Doe"}'
কন্টেইনার বন্ধ করার জন্য নিচের কমান্ডটি ব্যবহার করুন:
docker-compose down
এই প্রক্রিয়ায়, আপনি Docker Compose ব্যবহার করে একটি Multi-container Application তৈরি করেছেন, যেখানে একটি Flask ওয়েব অ্যাপ্লিকেশন MySQL ডাটাবেসের সাথে সংযুক্ত। Docker Compose ফাইলের মাধ্যমে সার্ভিস এবং কনফিগারেশন পরিচালনা করা হয়েছে, যা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং ডিপ্লয়মেন্ট প্রক্রিয়াকে সহজতর করে।
আরও দেখুন...