홈/엔지니어/Docker / 컨테이너/Docker 네트워크 이해와 실전 설정…
Docker / 컨테이너중급ubuntumacoswindowsdockernetworkbridge

Docker 네트워크 이해와 실전 설정

bridge, host, overlay 네트워크의 차이와 컨테이너 간 통신, 외부 노출 설정 방법을 설명합니다.

목차
  1. Docker 네트워크 드라이버
  2. 기본 네트워크 명령어
  3. 사용자 정의 bridge 네트워크 (권장)
  4. Compose 네트워크 설정
  5. 포트 매핑
  6. 디버깅

Docker 네트워크 드라이버

드라이버설명사용 상황
bridge기본값, 호스트와 격리된 가상 네트워크단일 호스트 내 컨테이너 통신
host호스트 네트워크 직접 사용성능 최우선
none네트워크 완전 비활성화완전 격리 필요 시
overlay멀티 호스트 네트워크Docker Swarm

기본 네트워크 명령어

Bash
docker network ls
docker network inspect bridge
docker network create mynet
docker network create \
  --driver bridge \
  --subnet 172.20.0.0/16 \
  --gateway 172.20.0.1 \
  mynet

docker network connect mynet container1
docker network disconnect mynet container1

사용자 정의 bridge 네트워크 (권장)

Bash
docker network create app-net

docker run -d --name db      --network app-net postgres:16
docker run -d --name backend --network app-net \
  -e DB_HOST=db \
  myapp:latest

Compose 네트워크 설정

YAML
services:
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
    networks:
      - frontend

  app:
    build: .
    networks:
      - frontend
      - backend

  db:
    image: postgres:16
    networks:
      - backend

networks:
  frontend:
  backend:
    internal: true

포트 매핑

Bash
docker run -p 8080:80 nginx
docker run -p 127.0.0.1:8080:80 nginx   # localhost만 노출
docker port container1

디버깅

Bash
docker exec -it myapp sh
# nslookup db
# curl http://db:5432

docker inspect --format '{{.NetworkSettings.IPAddress}}' mycontainer
#docker#network#bridge#compose#컨테이너
편집 안내 · Editorial Note

AI 도구가 초안 작성에 사용될 수 있습니다. 명령어의 실행 여부와 검증 환경은 각 가이드에 기재된 근거를 확인하세요. 적용 전 사용 중인 버전의 공식 문서를 확인하고, 오류는 이메일로 알려주세요. 이메일로 제보

주제 관련 공식 문서(자동 연결 · 문장별 근거 아님)Docker 공식 문서 ↗

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.