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는 컨테이너 간의 효율적인 통신을 가능하게 하며,
각 컨테이너가 단일 책임을 가진 마이크로서비스 아키텍처를 구현할 수 있습니다.
참고
728x90
반응형
'강의 > Docker & Kubernetes : 실전 가이드' 카테고리의 다른 글
[86] 효율적인 컨테이너 간 통신을 위한 Docker 네트워크 추가하기 (0) | 2025.03.08 |
---|---|
[81-85] Docker로 다중 컨테이너 애플리케이션 구축하기 (0) | 2025.03.08 |
[68, 69, 70, 71] 도커 컨테이너 통신 패턴 3가지 (0) | 2025.02.25 |
[64] 빌드 인수 (ARG) 사용하기 (0) | 2025.02.24 |
[62] 환경 변수 & '.env' 파일 작업 (0) | 2025.02.24 |
댓글