0부터 시작하는 Docker 공부 - Docker Network

Jaehong Lee·2022년 8월 19일
0
post-thumbnail

1. docker network's driver

p. 118

  • 도커 컨테이너 및 서비스는 도커 네트워크를 통해 격리된 컨테이너 간의 네트워크 연결 뿐만 아니라 도커 외의 다른 애플리케이션 워크로드와도 연결이 가능하다

  • 네트워크 리스트를 살펴보자. SCOPE 는 네트워크 범위이다. 즉, local 이라고 되있으므로, local 영역내에서만 네트워크가 영향을 미친다
    • 만약, overlay 를 구현하여 클러스터를 구성하면, SCOPE 는 SWARM 이 된다

docker network's driver

  • bridge : 우리가 아는 외부와 직접 통신하는 bridge 가 아니라, KVM 의 NAT 스위치와 같은 역활을 수행한다. 이는 컨테이너가 외부와 통신할때, docker0 에서 NAT 를 해준다. 독립적인 사설 주소 대역을 갖는다

    • 기본적으로 도커는 bridge type 의 docker0 를 생성하여 모든 컨테이너를 연결한다
  • host : Host PC 의 Ip 주소를 그대로 사용한다

    • 외부에서 Host Ip 로 접근시 이는, host network 를 사용하는 컨테이너의 Ip 는 Host Ip 와 같으므로, 컨테이너에 접근하게 된다
  • none : Network 에 연결되지 않음

Bridge Network 상세 정보 확인

  • bridge network 상세 정보를 확인하자
  • Gateway는 docker0 를 의미한다
  • masquerade 는 동적 PAT 를 의미한다
    • Ip masquerade 는 리눅스에서 개발되고 있는 Ip 기술

2. Network 생성

p. 126

docker network create private1

  • private1 이라는 network 를 생성하자. 네트워크 대역은 자동으로 설정된다
  • network 상세 정보를 출력하여 네트워크 대역을 확인하자

3. Network 지정

docker container run -d --net=private1 centos:7

  • 위와 같이 Network 를 지정하여 컨테이너를 배포해보자
  • ' docker inspect 컨테이너 ID ' 를 통해 상세 정보를 확인하면, 지정한 Network 를 확인할 수 있다

4. Network 생성 - 네트워크 대역 설정

docker network create --driver bridge --subnet 10.10.0.0/16 --ip-range 10.10.10.0/24 --gateway 10.10.10.1 private2

  • 네트워크 대역을 직접 설정하여 네트워크를 생성하자
docker container run -it --name centos11 --net=private2 --ip=10.10.10.10 centos:7 /bin/bash
  • 컨테이너의 Network 대역을 사용하게 지정하고, Ip 주소를 지정하여 컨테이너를 배포하자
  • 컨테이너가 외부와 통신이 잘 된다
  • 상세 정보를 확인하면, Ip 주소가 잘 설정됬다
profile
멋진 엔지니어가 될 때까지

0개의 댓글