সরাসরি প্রধান সামগ্রীতে চলে যান

Spring Boot Plugins or Tools for Dockerize

হ্যাঁ, Spring Boot + Gradle–এ এমন কয়েকটি plugin আছে যেগুলো JAR build → Docker image build → docker-compose up—এই পুরো workflow-টাকে automate করে দিতে পারে। অর্থাৎ তুমি একটাই Gradle command দিলে সব কিছু হয়ে যাবে।

নীচে সেরা তিনটি অপশন দিলাম।


1) Spring Boot Built-in Boot Build Image (Recommended)

Spring Boot 2.3+ থেকে built-in support আছে Docker image বানানোর জন্য। কোনো Dockerfile লাগবে না। Paketo Buildpack ব্যবহার করবে।

Gradle command

./gradlew bootJar
./gradlew bootBuildImage

Spring Boot plugin

plugins {
    id 'org.springframework.boot' version '3.4.3'
}

Output:

docker build ছাড়াই Docker image তৈরি হবে → blogger-app:latest এর মতো image বের হবে


🔥 JAR build + Docker image build — এক কমান্ডে

তুমি নিজের custom task বানাতে পারো:

tasks.register("buildAppAndImage") {
    dependsOn("bootJar", "bootBuildImage")
}

Run:

./gradlew buildAppAndImage

✔ এক কমান্ডে jar + docker image ready।


2) Jib Plugin (Google) — Dockerfile ছাড়াই Docker build (Very Popular)

Jib Spring Boot-এর জন্য দারুণ কাজ করে → JAR build ছাড়াই directly layered Docker image বানায়।

Plugin যোগ করো

plugins {
    id 'com.google.cloud.tools.jib' version '3.4.0'
}

Docker image build

./gradlew jibDockerBuild

Jib automatically:

  • jar build করে
  • layered docker image বানায়
  • Dockerfile লাগে না

Docker Compose দিয়ে চালাতে চাইলে image name bind করো:

jib {
    to {
        image = "blogger-app:latest"
    }
}

🔥 JAR + Docker → এক কমান্ডে

tasks.register("buildAll") {
    dependsOn("bootJar", "jibDockerBuild")
}

Run:

./gradlew buildAll

3) Gradle Docker Compose Plugin (Automation)

যদি docker-compose এর build-কেও automate করতে চাও → এই plugin ব্যবহার করতে পারো।

Plugin

plugins {
    id "com.avast.gradle.docker-compose" version "0.17.4"
}

Compose start:

./gradlew composeUp

Compose stop:

./gradlew composeDown

এটাকে automation chain করতে পারো:


🔥 Fully Automated Pipeline (Recommended for You)

Gradle-task বানিয়ে দাও:

tasks.register("fullPipeline") {
    dependsOn(
        "bootJar",
        "bootBuildImage",   // OR jibDockerBuild
        "composeUp"
    )
}

Run:

./gradlew fullPipeline

একমাত্র কমান্ডে → JAR build → Docker image build → Docker Compose up সব হয়ে যাবে।


🏆 কোনটা বেছে নেবে?

| Plugin | Best for | | ------------------------- | ------------------------------------------------------ | | bootBuildImage | Spring Boot নিজে থেকে docker image বানাক | | Jib | সবচেয়ে fast, lightweight, Dockerfile ছাড়াই clean image | | docker-compose plugin | Compose automation চাইলে |


যদি চাও, আমি তোমার প্রজেক্ট স্ট্রাকচার দেখে একটা ready-made Gradle script বানিয়ে দেব যেখানে:

./gradlew appUp → Jar + Docker image + Compose সব এক কমান্ডে হবে।

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

সিজ্জিন (Sijjin) vs ইল্লিয়িন (Illiyin) পার্থক্য Difference

Sijjin (سِجِّين) এবং Illiyin (عِلِّيِّين) —এ দুটি শব্দ কুরআনে এসেছে এবং দুটোই মানুষের আমলনামা সংরক্ষণ সম্পর্কিত স্থানকে নির্দেশ করে। ১. সিজ্জিন (Sijjin) সিজ্জিন হলো পাপীদের (কাফের, মুনাফিক ও দুরাচারীদের) আমলনামা সংরক্ষণের স্থান। এটি সাত তলদেশের নীচে এক কারাগার বা অন্ধকার জগতে অবস্থিত বলে উল্লেখ রয়েছে। সূরা আল-মুতাফফিফীন (৮৩:৭-৯) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْفُجَّارِ لَفِي سِجِّينٍ ۝ وَمَا أَدْرَاكَ مَا سِجِّينٌ ۝ كِتَابٌ مَرْقُومٌ" অর্থ: "না, পাপীদের আমলনামা সিজ্জিনে সংরক্ষিত। তুমি কি জানো, সিজ্জিন কী? এটি এক লিখিত দলিল।" সিজ্জিনকে একটি কারাগার, সংকীর্ণ স্থান, বা নিচের স্তরে অবস্থিত এক অন্ধকার দুনিয়া হিসেবে ব্যাখ্যা করা হয়। ২. ইল্লিয়িন (Illiyin) ইল্লিয়িন হলো সৎকর্মশীলদের (মুমিন ও নেককারদের) আমলনামা সংরক্ষণের স্থান । এটি সপ্তম আসমানের ওপরে সংরক্ষিত এক সম্মানিত স্থান। সূরা আল-মুতাফফিফীন (৮৩:১৮-২১) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْأَبْرَارِ لَفِي عِلِّيِّينَ ۝ وَمَا أَدْرَاكَ مَا عِلِّيُّونَ ۝ كِتَابٌ مَرْقُومٌ ۝ يَش...

তারাবিহ সমগ্র - প্রথম আলো

রামাদান ২০২৪ উপলক্ষে প্রথম আলোর নিয়মিত আয়োজন - খতমে তারাবিহ'র সূরা গুলো নিয়ে সংক্ষিপ্ত আলোচনা'র লিংক  নিচে দেওয়া হলো।  লিংকে ক্লিক করলেই আপনাকে আলোচনা তে নিয়ে যাবে। তারাবিহ: ১ | একটি খুন ও গাভি নিয়ে বনি ইসরাইলের বাড়াবাড়ি তারাবিহ: ২ | নারীর মর্যাদা ও অধিকার এবং অলৌকিক তিন ঘটনা তারাবিহ: ৩ | যে ১৪ নারীকে বিয়ে করা হারাম তারাবিতে: ১২ | মহানবী (সা.)–এর আকাশভ্রমণ এবং আসহাবে কাহাফের কাহিনি

রেডমি নোট ৯ এর বিস্তারিত | Redmi Note 9 in Bangla

৩০ এপ্রিল, ২০২০ এ শাওমির ঘোষনা আসে এই ফোনটি নিয়ে। কিন্তু ফোনটি মার্কেটে আসে মে মাসের শেষের দিকে৷ করোনার কারনে ফোনটি বাংলাদেশে আসতে আরো সময় নেয়। বর্তমানে বাংলাদেশে আন অফিশিয়াল ভাবে ফোনটি পাওয়া যাচ্ছে৷ বাংলাদেশে অফিশিয়াল ভাবে এখনো ফোনটি আসার তথ্য নেয়৷ চলুন ফোনটি নিয়ে বিস্তারিত আলোচনা করা যাক। শাওমি নোট সিরিজের ফোন বের করে এদের রেডমি নামে সাব ব্যান্ড৷ এদের কাজ হল এই নোট সিরিজ নিয়ে কাজ করা৷ প্রতিবছর নোট সিরিজের ১/২ টা ফোন বাজারে আসে। সাথে সেই ফোন গুলার বিভিন্ন ভার্সন (যেমন - র‍্যাম ও রমের ভিত্তিতে) বাজারে আসে। এই বছরও তারা রেডমি সিরিজের নোট ৯ বাজারে আনে। এই বছর হয়তো এই সিরিজের আরো ফোন বাজারে আসবে। ডিস্পলেঃ ফোনটির ডিসপ্লে সাইজ ৬.৫৩ ইঞ্চি। এতে আইপিএস এলসিডি ডিসপ্লে ব্যবহার করা হয়েছে। এই ফোনের ডিসপ্লে প্রটেকশন হিসেবে আছে গরিলা গ্লাস ফাইভ। স্ক্রিন আর ফোনের বডির অনুপাত প্রায় ৮৩.৫%। এই ফোনের ডিসপ্লে ফুলএইচডি মানে ১০৮০পি। এই ডিস্পলের দৈর্ঘ্য ১৯.৫ একক এবং প্রস্থ হল ৯ একক। এত বড় ফোনের কারনে এই ফোনের পিপি আই ডেনসিটি ৩৯৫। যা একটু কম। প্লাটফর্মঃ এই ফোনের অপারেটিং সিস্টেম এন্ড্রয়েড ১০ এবং এর...