도커 A to Z - 컨테이너 네트워킹

김상운(개발둥이)·2022년 9월 22일
0

도커 A to Z

목록 보기
4/5
post-thumbnail

컨테이너 - 외부 api 통신

도커 컨테이너는 외부 api와 통신이 가능하다. 예를들어 컨테이너 내부에서 javascript 의 axious 를 사용하여 통신이 가능하다.

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

도커 컨테이너와 호스트머신의 DB 등과 같은 로컬 호스트 머신에 접근하는 통신이 필요할 경우 IP 를 localhost 가 아닌 host.docker.internal 로 입력하여야 한다.

컨테이너 - 컨테이너 통신

도커 네트워크를 사용하지 않는 경우

도커 네트워크를 사용하지 않는 컨테이너와 컨테이너의 통신을 위해서는 먼저 실행중인 컨테이너의 docker container inspect [컨테이너명] 을 통해 ip 주소를 흭득하여 통신하고자 하는 주소를 흭득한 ip 를 입력하면 통신이 가능하다.

도커 네트워크 사용

먼저 통신하고자 하는 두 컨테이너의 네트워크를 설정하여야 한다.

네트워크 생성

docker network create [네트워크 이름]

네트워크 적용

docker run -d --name [적용할 컨테이너 이름] --network [네트워크 이름][이미지 이름]

위의 명령어를 사용하여 도커 네트워크를 생성하고 생성할 컨테이너에 --network 옵션을 주어 네트워크를 적용한다.

적용

위 과정을 거치게 되면 도커 컨테이너의 ip 주소를 하드코딩하지 않고 ip 주소를 컨테이너 이름으로 대체 가능하다.

이럴 경우 도커 컨테이너가 내부적으로 해석한다.

네트워크 적용시 그림

Docker 네트워크, 모든 컨테이너가 통신할 수 있어 컨테이너 이름 입력 시 IP 로 해석한다.

profile
공부한 것을 잊지 않기 위해, 고민했던 흔적을 남겨 성장하기 위해 글을 씁니다.

0개의 댓글