1️⃣ Docker Image Build করা
Dockerfile ধরে নিই যে তুমি project root এ আছো যেখানে Dockerfile আছে।
docker build -t avengers-app:latest .
Explanation:
docker build→ Docker image build command-t avengers-app:latest→ image নাম ও tag.→ context, অর্থাৎ current folder
Build complete হলে তুমি locally দেখতে পারবে:
docker images
2️⃣ Docker Container Run করা
Build করা image দিয়ে container run করতে:
docker run -d \
--name spring-app \
-p 8080:8080 \
-e SPRING_PROFILES_ACTIVE=docker \
-e SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/mydb \
-e SPRING_DATASOURCE_USERNAME=postgres \
-e SPRING_DATASOURCE_PASSWORD=postgres \
-e SPRING_REDIS_HOST=localhost \
-e SPRING_REDIS_PORT=6379 \
avengers-app:latest
Explanation:
-d→ detached mode (background)--name spring-app→ container name-p 8080:8080→ host:container port mapping-e VAR=value→ environment variables inject করাavengers-app:latest→ আগের step এ তৈরি করা image
লগ দেখার জন্য:
docker logs -f spring-app
Container stop করতে:
docker stop spring-app
docker rm spring-app
3️⃣ Docker Hub এ Share করা
Step 1: Docker Hub Login
docker login
→ Docker Hub username ও password দিতে হবে
Step 2: Image Tag করা Docker Hub Repository অনুযায়ী
ধরি তোমার Docker Hub username mdshakibulalam
docker tag avengers-app:latest mdshakibulalam/avengers-app:latest
Step 3: Push করা Docker Hub এ
docker push mdshakibulalam/avengers-app:latest
✅ এখন কেউ যেকোনো machine থেকে এই image pull করতে পারবে:
docker pull mdshakibulalam/avengers-app:latest
docker run -d -p 8080:8080 mdshakibulalam/avengers-app:latest
4️⃣ Optional: Docker Compose দিয়ে Run (Recommended)
docker-compose.yml:
services:
app:
image: mdshakibulalam/avengers-app:latest
container_name: spring-app
ports:
- "8080:8080"
environment:
SPRING_PROFILES_ACTIVE: docker
SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/mydb
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: postgres
SPRING_REDIS_HOST: localhost
SPRING_REDIS_PORT: 6379
Run:
docker compose up -d
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন
আপনার সমস্যাটি কমেন্ট করে আমাদের জানান :-d