[72-80] Docker 컨테이너 통신의 세 가지 방식과 솔루션

728x90
반응형

 

Docker 컨테이너 통신의 세 가지 방식과 솔루션

 

컨테이너-WWW 통신

  • 컨테이너에서 외부 웹/API로의 통신은 기본적으로 가능
  • 특별한 설정 없이 인터넷 상의 API에 HTTP 요청 가능

 

컨테이너-호스트 머신 통신

  • 문제 : 컨테이너 내에서 localhost로 호스트 머신 접근 불가
  • 해결책 : localhost 대신 host.docker.internal 사용
  • 도커가 자동으로 호스트 머신의 IP 주소로 변환

 

컨테이너 간 통신

기본 솔루션: IP 주소 직접 사용

  • docker container inspect [컨테이너명]으로 IP 주소 확인
  • 문제점: IP 주소가 변경될 때마다 코드/이미지 수정 필요

 

우아한 솔루션: Docker Networks

네트워크 생성


  
docker network create [네트워크명]

 

컨테이너를 네트워크에 연결


  
docker run --network [네트워크명] [이미지명]

 

컨테이너 이름으로 통신

  • 같은 네트워크 내에서는 컨테이너 이름을 호스트명으로 사용
  • 예: mongodb://mongodb:27017/dbname
  • 도커가 자동으로 컨테이너 이름을 IP 주소로 변환

 

도커의 IP 주소 변환 메커니즘

  • 컨테이너에서 요청 발생 시 자동으로 주소 변환
  • 소스코드 수정 없이 환경 수준에서 처리
  • 컨테이너 이름 또는 특수 도메인을 실제 IP로 매핑

이런 방식으로 Docker는 컨테이너 간의 효율적인 통신을 가능하게 하며,

각 컨테이너가 단일 책임을 가진 마이크로서비스 아키텍처를 구현할 수 있습니다.

 

 

 

 

참고

https://www.udemy.com/course/docker-kubernetes-2022

728x90
반응형

댓글