Docker - 컨테이너 생성과 사용

최정환·2023년 12월 6일
0

Docker

목록 보기
3/8

Image를 사용해 container를 실행시키기

docker container run --p 80:80 nginx
  1. Docker hub로 부터 nginx image 다운로드
  2. image로 container 시작
  3. 80(H)를 host IP로 염
  4. host IP로 부터 온 트래픽을 container IP인 80(C)으로 이동시켜줌

docker container run 할 때 생기는 일

  1. 로컬에서 이미지 캐시를 찾아보고 만약 없다면 image repository를 본다.
  2. 최신 버전을 다운로드한다.
  3. 다운로드 후 이미지 기반 새로운 컨테이너로 시작할 준비를 한다.
  4. 도커 엔진에 있는 사설 네트워크에서 가상 IP를 준다.
  5. host에서 80 포트를 열고 컨테이너의 80포드로 접근한다.
  6. Dockerfile에 있는 CMD를 사용해 컨테이너를 시작한다.

Docker Networks

  • 각 컨테이너는 "bridge"라는 사설 가상망에 연결됩니다.

  • 각 사성망은 host IP의 NAT 방화벽을 통해 라우트됩니다.

  • 사설망에 있는 모든 컨테이너는 -p를 사용하지 않아도 서로 연결할 수 있습니다.

Network DNS

IP 주소에 의존하지 않기 : Docker 컨테이너들은 상호간 통신을 위해 서로의 IP 주소에 의존해서는 안 됩니다. 이는 IP 주소가 변경될 수 있으며, 이로 인해 컨테이너 간 통신에 문제가 발생할 수 있기 때문입니다.

DNS 사용 : 사용자 정의 네트워크를 사용하면, 컨테이너들은 DNS를 통해 서로를 친숙한 이름으로 찾을 수 있습니다. 이는 컨테이너 간 통신을 더 쉽고 관리하기 쉽게 만듭니다.

사용자 정의 네트워크 사용 여부 확인 : 사용자 정의 네트워크는 Docker의 기본 네트워크보다 더 많은 기능과 유연성을 제공합니다.

Docker Compose의 이점 : Docker Compose를 사용하면 컨테이너 간 통신과 네트워킹을 설정하고 관리하는 것이 훨씬 쉬워집니다. Docker Compose는 여러 컨테이너의 설정을 한 파일에 정의하여 관리를 단순화합니다.

0개의 댓글