갬미의 성장일기

Day 36 - 도커 네트워크 | 도커 3tier 본문

Cloud/Cloud 공부일기

Day 36 - 도커 네트워크 | 도커 3tier

갬미 2022. 2. 28. 22:59

오늘 배운 내용

- 서브네팅 계산법

- 도커 네트워크

- 도커 3tier

 

서브네팅 계산법

10.1.1.10 의 서브넷 마스크는 255.0.0.0이다 

 

10.1.1.10 -> 00001010.00000001.00000001.00001010

                 11111111.00000000.00000000.00000000

여기서 네트워크 주소는 10.0.0.0 (AND 연산)

호스트 주소는 10.1.1.10이 된다

1. CIDR 계산법

10.1.1.10/24의 네트워크 주소는 어떻게 되는가?

어려울것 없이 24가 1의 개수로 치고 계산하면 된다

10.1.1.10 -> 00001010.00000001.00000001.00001010

                 11111111.11111111.11111111.00000000 (24개)

여기서 네트워크 주소는 10.1.1.0 (AND 연산)이 된다

 

서브넷 마스크는 255.0.0.0 / 255.255.0.0 / 255.255.255.0 으로 나누어지니 그럼 CIDR이

/8 /16 /24밖에 없는건가?라고 생각이 들수도 있는데 아니다 (아닌 경우를 엄청 많이 보기도 함)

 

5,16,24를 제외한 다른 수를 사용하는 것을 CIDR이라고 한다

서브넷을 더 세부적으로 쪼개겠다는 것이다 

 

Q. 10.1.1.10/25 와 10.1.1.190/25는 같은 네트워크인가?

A. 아니다

/24와 /25를 비교해보면 /25는 /24 서브넷 대역을 두개로 쪼갠것과 같다

11111111.11111111.11111111.00000000 (24개)  --> 0~255

->11111111.11111111.11111111.10000000 --> 0~127 / 128~255 

10.1.1.10/25는 0~127에 속하고 10.1.1.190/25은 128~255에 속하므로 두 네트워크 대역은 다르다

-> 따라서 서로 통신하려면 라우터가 필요함

 

4개로 쪼개려면?

1이 26개면 된다 

->11111111.11111111.11111111.11000000 --> 0~63 / 64~127 / 128~191 / 192~255

.0/26 | .64/26 | .128/26 | .192/26 

  http://egloos.zum.com/Yupp2/v/1916132

👇 참고하면 좋은 포스팅

 

서브넷, 서브넷 마스크 확실하게 짚고 넘어가자

본 포스팅을 읽기 전에 IP 관련 포스팅을 읽으시는 걸 추천드립니다. ▶[Network] - [Network, 네트워크] IP, IP 주소, 클래스 분류 확실하게 짚고 넘어가자 | IP 클래스의 비효율성 IPv4는 초기에 클래스로

engkimbs.tistory.com

 

도커 네트워크

도커 런타임을 설치하게 되면 자동을 docker0라는 브릿지 네트워크가 생성된다

도커 컨테이너를 만들면 이를 관리하는 가상 인터페이스 (veth)가 생성되며 docker0는 veth와 host를 연결한다

 

ifconfig로 네트워크 확인

docker 기본 브리지 네트워크

컨테이너 생성시 생기는 veth

 

컨테이너를 만들면 자동으로 ip가 할당되기 때문에 ping ip와 같이 ip를 콕 집어서 통신하기 쉽지가 않다 (매번 확인해야 함) 

따라서 컨테이너에 별칭(이름)을 붙이고 이를 통해 통신할 수 있는 방법을 클라우드 서비스에서는 제공하는데 이를 위해서 custom bridge network를 만들어야 한다

같은 network안에서 이름으로 소통할 수 있음

 

custom bridge network 만들기 

  1. docker network ls로 확인
  2. docker network create --driver bridge mynet 로 custom bridge network 생성
  3. docker network ls로 확인

custom network를 브릿지 네트워크로 사용하는 컨테이너를 만들어 이름으로 통신할 수 있게한다

 

docker run 옵션으로 --net-alias 를 주어 이름으로 통신 가능하게 한다 ( 이때 꼭 custom bridge 가 필요함)

--net-alias를해도 되고, net-alias 옵션 안주고 name을 사용해도 됨

alias = 별칭 (별명으로 찾아가겠다는 뜻)

docker run --name mynginx1 -d --net mynet --net-alias=nginx1 gymin97/msa:v3
docker run --name mynginx2 -d --net mynet --net-alias=nginx2 gymin97/msa:v3

 

3tier 만들기 

- DB랑 was 컨테이너는 강사님이 만들어주셔서 공유는 어려울 것같다 !

 

run 다 되면 db 들어가서 tables 확인

docker exec -it mysql-svc bash
mysql -u frodo -p
show databases;
use frodo;
show tables;

ip:8080 접속

frodo 1234 입력

과제 : nginx port 로 접속했을때 8080 port를 쓰는 was서버로 바로 접속 하기

왼: 기본포트 접속 / 오: 8080포트 접속

감동실화 .. 

 

참고 사이트

 

nginx를 이용한 로드 밸런서(Load Balancer)

nginx를 이용하여 로드 밸런서를 구현해보도록 하겠습니다.

velog.io

서치하다가 찾은 도커 치트시트

 

도커(Docker) 치트 시트

도커(Docker) 치트 시트. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

오늘의 회고

  • 오늘은 수업 내용이 조금 빡세서 대체 이게 무슨말이지?,,하고 쉬는 시간에 녹화본 돌려보느라 진이 다빠졌다 
  • 과제도 ,, 분명 구글을 다 뒤져봐도 한가지 방법뿐인데 자꾸 안돼서 너무너무너무 답답했는데 결국 해냈다,, 
  • 4시간과 맞바꾼 과제 ,, 짜식아~! 
  • 내일은 공휴일이니까 쉬엄쉬엄 공부해야겠다 ><

'Cloud > Cloud 공부일기' 카테고리의 다른 글

Day 38 - docker-compose 3tier, SQL (간단), GCP 가입  (0) 2022.03.03
Day 37 - 도커, 도커 컴포즈 3tier  (0) 2022.03.02
Day 35 - 네트워크 특강  (0) 2022.02.25
Day 34 - 도커 실습  (0) 2022.02.24
Day 33 - 도커 실습  (0) 2022.02.23
Comments