갬미의 성장일기
Day 36 - 도커 네트워크 | 도커 3tier 본문
오늘 배운 내용
- 서브네팅 계산법
- 도커 네트워크
- 도커 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
👇 참고하면 좋은 포스팅
도커 네트워크
도커 런타임을 설치하게 되면 자동을 docker0라는 브릿지 네트워크가 생성된다
도커 컨테이너를 만들면 이를 관리하는 가상 인터페이스 (veth)가 생성되며 docker0는 veth와 host를 연결한다
ifconfig로 네트워크 확인
docker 기본 브리지 네트워크
컨테이너 생성시 생기는 veth
컨테이너를 만들면 자동으로 ip가 할당되기 때문에 ping ip와 같이 ip를 콕 집어서 통신하기 쉽지가 않다 (매번 확인해야 함)
따라서 컨테이너에 별칭(이름)을 붙이고 이를 통해 통신할 수 있는 방법을 클라우드 서비스에서는 제공하는데 이를 위해서 custom bridge network를 만들어야 한다
같은 network안에서 이름으로 소통할 수 있음
custom bridge network 만들기
- docker network ls로 확인
- docker network create --driver bridge mynet 로 custom bridge network 생성
- 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포트 접속
감동실화 ..
참고 사이트
서치하다가 찾은 도커 치트시트
오늘의 회고
- 오늘은 수업 내용이 조금 빡세서 대체 이게 무슨말이지?,,하고 쉬는 시간에 녹화본 돌려보느라 진이 다빠졌다
- 과제도 ,, 분명 구글을 다 뒤져봐도 한가지 방법뿐인데 자꾸 안돼서 너무너무너무 답답했는데 결국 해냈다,,
- 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 |