[Docker] Network - Section 4

liljoon·2023년 12월 21일
0

이 글은 Udemy의 "【한글자막】 Docker & Kubernetes : 실전 가이드" 강의의 학습 노트입니다.
https://www.udemy.com/course/docker-kubernetes-2022/

도커에서 기본적인 통신에 대해서 설명한다.
도커에서 네트워크를 통해 통신하는 경우는 여러 개가 있다.

  1. 컨테이너 - 외부 네트워크
  2. 호스트 머신 - 컨테이너
  3. 컨테이너 - 컨테이너

3번의 경우가 가장 많이 쓰이고 중요하다.


컨테이너 - 외부 네트워크

컨테이너 내부에서 단순히 외부의 HTTP 연결은 특별한 설정 없이 작동한다.


호스트 머신 - 컨테이너

ex) 호스트머신에 DB 서버가 있고, 컨테이너에서 해당 DB를 접속하는 경우

host.docker.internal 로 접속하면 도커에서 자동으로 연결시켜준다.


컨테이너 - 컨테이너

docker container inspect <container ID>
를 통해 컨테이너의 정보를 조회하여 내부 ip 주소를 확인할 수 있다.
하지만 매번 변할 수 있고, 매번 확인하기 번거롭기 때문에 이렇게 잘 사용하지 않는다.

docker network create <network name>

해당 명령어를 통해 도커 네트워크를 하나 생성한다. (자동 생성 안됨)
이후에 컨테이너를 실행 시

--network <network name> 옵션을 통해 네트워크를 지정한다.
그 후 소스코드에서 단순히 컨테이너 이름을 통해 접속을 하면 된다. 그러면 자동으로 도커에서 해당 주소를 변환하여 연결해준다.


docker network driver

네트워크 생성 시 --driver 옵션을 통해 driver를 설정할 수 있다.

기본적으로는 bridge이다. 같은 네트워크에서 서로 컨테이너 이름을 찾을 수 있는 옵션이다.

일반적으로는 bridge를 많이 사용한다.

0개의 댓글