Header Ads

Header ADS

DynamoDB Setup using Docker

 Full Setup 

We can access the DB using CLI and Query . Verify the using GUI

🚀 Goal

Docker Compose দিয়ে run করবো:

✅ DynamoDB Local
✅ DynamoDB GUI (Admin)
✅ Same network
✅ Auto start
✅ One command startup


📁 Step 1 — Project Structure

একটা folder বানাও:

mkdir dynamodb-local
cd dynamodb-local

🐳 Step 2 — docker-compose.yml

version: "3.8"

services:

  dynamodb:
    image: amazon/dynamodb-local
    container_name: dynamodb-local
    ports:
      - "8000:8000"
    command: "-jar DynamoDBLocal.jar -sharedDb"
    volumes:
      - dynamodb_data:/home/dynamodblocal/data

  dynamodb-admin:
    image: aaronshaf/dynamodb-admin
    container_name: dynamodb-admin
    ports:
      - "8001:8001"
    environment:
      - DYNAMO_ENDPOINT=http://dynamodb:8000
    depends_on:
      - dynamodb

volumes:
  dynamodb_data:

🧠 Important Concept (Very Important)

খেয়াল করো:

DYNAMO_ENDPOINT=http://dynamodb:8000

👉 এখানে localhost না।

কারণ:

Docker compose এ containers নিজেদের service name দিয়ে communicate করে।

dynamodb = service hostname ✅


▶️ Step 3 — Run Everything

docker compose up -d

🔍 Step 4 — Verify

Check containers:

docker ps

তুমি দেখবে:

dynamodb-local
dynamodb-admin

🌐 Step 5 — Open GUI

Browser:

http://localhost:8001

🔥 DynamoDB GUI ready.


🧪 Step 6 — CLI Connection

এখন CLI দিয়ে কাজ করো:

aws dynamodb list-tables \
--endpoint-url http://localhost:8000 
 

⭐ Senior Engineer Tips

✅ Always use -sharedDb

command: "-jar DynamoDBLocal.jar -sharedDb"

কারণ:

  • Multiple credential problem avoid করে

  • Local dev সহজ হয়


✅ Use volume (VERY IMPORTANT)

volumes:
  - dynamodb_data:/home/dynamodblocal/data

না দিলে:

❌ container stop → data delete


🔥 One Command Development Environment

এখন থেকে:

Start

docker compose up -d

Stop

docker compose down

Reset DB

docker compose down -v


Powered by Blogger.