본문 바로가기
Docker

[Docker] Docker Network - 컨테이너 간 통신 제어

by 임혁진 2025. 4. 17.

 

네트워크란?

도커 네트워크는 컨테이너 간 통신을 안전하게 연결해주는 가상의 네트워크다.
컨테이너끼리 서로 이름으로 호출할 수 있도록 해줘요.


 네트워크 유형

 

타입 설명 예시
bridge (기본값) 컨테이너끼리 내부 IP로 통신 가능 대부분 사용
host 호스트와 동일한 네트워크 사용 포트 충돌 시 주의
none 네트워크 격리 (통신 불가) 테스트용

 docker-compose에서 networks 사용 예시

services:
  app:
    build: .
    networks:
      - backend

  db:
    image: mysql:8
    networks:
      - backend

networks:
  backend:
    driver: bridge

장점

  • 앱과 DB를 같은 네트워크에 묶어서 통신 가능하게 함
  • 외부에서 접근하지 못하도록 격리
  • 서비스 이름으로 접근 가능 → db:3306 이렇게

실제 사용 시 장점

 

상황 해결 방법
앱과 DB 컨테이너 통신 같은 네트워크에 묶기
Redis나 Kafka 등 별도 서비스 사용 각자 서비스에 맞는 네트워크 분리
보안 격리 네트워크 레벨에서 외부 노출 제한

 정리

네트워크는 컨테이너 간 통신 제어를 위해 사용되며 보안 + 이름 기반 통신을 하기 위해 설정된다.

 

네트워크 명령어 :

 

  • docker network ls → 네트워크 목록 확인
  • docker network inspect <name> → 상세 정보
  • 컨테이너 간 ping 테스트도 가능 (docker exec -it container ping <service_name>)

 

관련 글 모음