رفتن به محتوا
بازگشت به وبلاگ
دواپس

شبکه‌بندی Docker برای برنامه‌های سازمانی

بررسی عمیق شبکه‌های Bridge، Overlay و Macvlan در Docker برای استقرارهای تولیدی با اتصال چند Host.

خرداد ۱۴۰۴
۱۴ دقیقه مطالعه

شبکه‌بندی Docker برای برنامه‌های سازمانی

درک مدل‌های شبکه Docker برای برنامه‌های Containerized در سطح تولیدی ضروری است.

مرور درایور شبکه

درایورکاربردمحدوده
bridgeکانتینرهای تک‌هاستمحلی
hostبرنامه‌های حیاتی از نظر عملکردمحلی
overlaySwarm/K8s چند هاستSwarm/کلاستر
macvlanکانتینرها نیاز به IP واقعی دارندمحلی

شبکه‌های Bridge اختصاصی

BASH
docker network create --driver bridge   --subnet 172.20.0.0/16   --ip-range 172.20.240.0/20   --gateway 172.20.0.1   app-network

docker run -d --network app-network --name web nginx
docker run -d --network app-network --name api myapi

# کانتینرها می‌توانند با نام به هم دسترسی داشته باشند
docker exec web curl http://api:8080/health

Docker Compose چند شبکه

YAML
version: '3.8'
services:
  nginx:
    image: nginx:alpine
    networks:
      - frontend
    ports:
      - "443:443"

  postgres:
    image: postgres:15
    networks:
      - backend

networks:
  frontend:
    driver: bridge
  backend:
    driver: bridge
    internal: true  # بدون دسترسی خارجی

Macvlan برای IP واقعی

BASH
docker network create -d macvlan   --subnet=192.168.10.0/24   --gateway=192.168.10.1   --opt parent=eth0   macvlan-net

docker run -d --network macvlan-net --ip 192.168.10.100 postgres:15