[Docker] 6.네트워크

null·2025년 2월 17일
0

Docker

목록 보기
14/24

네트워크

가상 네트워크

  • 가상의 네트워크 브릿지(도커 제로) 생성 : 172.17.0.1
  • 컨테이너에 가상의 ip 할당
  • 같은 브릿지 내에서 생성된 컨테이너들끼리는 브릿지를 통해서 통신 가능

가상 네트워크와 가상 인터페이스

  • iptables : 라우터 역할

    Rule : 도착지가 172.17.0.3 이면
    Veth2 인터페이스로 전달

가상 네트워크 정보 확인 및 컨테이너 간 통신

  • docker network ls

  • docker network create --driver bridge --subnet 10.0.0.0/24 --gateway 10.0.0.1 second-bridge
    : 새로운 브릿지 네트워크 생성

--driver bridge
: 네트워크 드라이버를 Bridge 모드로 설정 (컨테이너 간 통신을 위해 사용)
--subnet 10.0.0.0.0/24
:네트워크 서브넷 지정
--gateway 10.0.0.1
: 해당 네트워크의 게이트웨이(라우터 역할) IP 설정
second-bridge
: 설정 할 네트워크의 이름

  • docker network inspect second-bridge

  • 같은 브릿지 내에있는 컨테이너끼리는 통신 가능하지만 다른 브릿지에 속해있으면 통신 불가

  • docker run -p HostOS의포트:컨테이너의포트
    : HostOS로의 네트워크 접근을 컨테이너로 포트포워딩

  • docker run -d --name nginx nginx

  • docker container inspect nginx

    : 172.17.0.2는 내부의 가상 네트워크에서만 사용되는 ip

: host의 8001번 포트에는 nginx2 컨테이너의 80 포트로 포트 포워딩 되어있기 때문에 host의 8001번으로 접근했을 때 내부 nginx2컨테이너의 80포트로 전달이 된 것

  • 도커는 컨테이너들이 기본적으로 사용할 수 있는 DNS서버를 제공
  • 도커 DNS서버 = 도메인명 + ip주소
  • 도메인명 = 컨테이너명
  • 도커 DNS서버는 외부의 DNS 서버와 연동 되어있기 때문에 컨테이너는 구글 같은 외부 도메인도 사용할 수 있다
  • 기본 브릿지는 DNS 기능 없음

Docker 네트워크 종류

Leafy 네트워크

0개의 댓글