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

Multiple Docker Containers network-based communication setup Bangla

🧭 Docker Multi-Container Networking Guideline (Reusable)

🧩 ১. মৌলিক ধারণা

প্রত্যেকটি Docker Compose প্রজেক্ট run করলে সেটি নিজে থেকেই একটা আলাদা network তৈরি করে — যেমন myapp_default, postgres_default ইত্যাদি।

⚠️ আলাদা compose প্রজেক্টের container গুলো একে অপরকে ping করতে পারে না, যতক্ষণ না তাদেরকে একই network-এ manually connect করানো হয়।


⚙️ ২. যদি দুইটা আলাদা Compose Project থাকে

ধরা যাক তোমার আছে:

  • একটি postgres container → postgres_default network-এ
  • একটি Spring Boot app → practice-spring-boot-jdk21_default network-এ

এখন app container থেকে postgres container এ connect করতে হলে তোমাকে app container কে postgres_default network-এ attach করতে হবে।

🔧 ধাপসমূহ:

➤ ১️⃣ Available network list দেখো:
docker network ls
➤ ২️⃣ Postgres container এর network নাম খুঁজে বের করো:
docker inspect postgres | grep "NetworkMode"

ধরো, output এসেছে → postgres_default

➤ ৩️⃣ App container কে ওই network-এ connect করো:
docker network connect postgres_default blogger-app
➤ ৪️⃣ যাচাই করো যে connect হয়েছে কিনা:
docker inspect blogger-app --format '{{json .NetworkSettings.Networks}}' | jq

এখানে "postgres_default" নাম দেখা গেলে ঠিক আছে ✅

➤ ৫️⃣ Connection test করো:
docker exec -it blogger-app bash
ping postgres

যদি reply আসে, তাহলে DB connection সফল।


🧱 ৩. Future-friendly Compose File Setup

তুমি চাওলে সরাসরি docker-compose.yml ফাইলেই external network define করে রাখতে পারো যাতে manual attach করতে না হয়।

🧾 Example:

services:
  app:
    build: .
    container_name: blogger-app
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/mydb
      SPRING_DATASOURCE_USERNAME: postgres
      SPRING_DATASOURCE_PASSWORD: postgres
    networks:
      - postgres-network  # external network name

networks:
  postgres-network:
    external: true
    name: postgres_default

⚙️ external: true মানে — এই compose নতুন network তৈরি করবে না, বরং আগে থেকে থাকা postgres_default network ব্যবহার করবে।


💡 ৪. সাধারণ টিপস

| বিষয় | নির্দেশনা | | ------------------- | ---------------------------------------------------------- | | Network check | docker network inspect <network-name> | | Container attach | docker network connect <network> <container> | | Container detach | docker network disconnect <network> <container> | | Ping test | docker exec -it <container> ping <target-container-name> | | Compose auto-attach | Compose ফাইলেই networks: সেকশন যোগ করো | | Same network rule | Container name দিয়েই DB host হিসেবে connect করা যায় |


✅ ৫. Summary (Quick Copy-Paste Cheatsheet)

# Find postgres container network
docker inspect postgres | grep NetworkMode

# Connect app container to same network
docker network connect postgres_default blogger-app

# Verify networks attached
docker inspect blogger-app --format '{{json .NetworkSettings.Networks}}' | jq

# Test connectivity
docker exec -it blogger-app bash
ping postgres

মন্তব্যসমূহ

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

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

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

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

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

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

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