<aside> 💡 Docker Network 활용하기

<aside> ❓ 네트워크란?

<aside> 💡 도커 네트워크 종류

<aside> 🌐 docker virtual bridge

Docker default network : bridge

nmcli dev

Untitled

docker network ls

Untitled

docker network rm polynet

Untitled

ifconfig

Untitled

yum install bridge-utils -y
brctl show

Untitled

# network 만들기 (default: bridge)
docker network create mynet
docker network create -d bridge [이름]
docker network create -d host [이름] ※ 1개만 가능
docker network create -d null [이름] ※ 1개만 가능

Untitled

docker run -itd --name c1 --net bridge alpine
docker run -itd --name c2 --net mynet alpine
docker run -itd --name c3 --net mynet alpine

Untitled

# 확인
	brctl show

Untitled

# mynet 설정 확인
docker network inspect mynet

Untitled

</aside>

<aside> 🌐 Docker network

docker run -itd --name bcon10 --net bridge alpine
docker run -itd --name bcon20 --net bridge alpine

docker run -itd --name bcon30 --net mynet alpine
docker run -itd --name bcon40 --net mynet alpine

docker run -itd --name hcon10 --net host alpine
docker run -itd --name hcon20 --net host alpine

docker run -itd --name ncon10 --net none alpine
docker run -itd --name ncon20 --net none alpine

Untitled

<aside> 📌 정리 bcon10 → bcon20 : 통신 O bcon10 → bcon30 : 통신 X

bcon30 → bcon40 : 통신 O bcon30 → bcon10 : 통신 X bcon30 → node1 : curl http://192.168.0.32 O

</aside>

# nginx , pengbai/docker-supermario container 생성
docker run -d --name hostweb --net host nginx
docker run -d --name game --net host pengbai/docker-supermario

<aside> ✅ 이미지 실행 포트 확인

docker history pengbai/docker-supermario | grep -i expose

Untitled

docker history apache-poly | grep -i expose

Untitled

</aside>

<aside> 🚨 외부에서 접속할 때에 포트포워딩 필수 network-bridge

# -p [호스트포트]:[외부포트] : 포트포워딩 
docker run -d -p 80:80 httpd

</aside>

</aside>

<aside> 🌐 동일한 Host에서 실행 중인 container에 연결

# 옵션 link를 이용해 통신하기
docker run -itd --name containerhigh alpine
docker run -itd --name con10 --link containerhigh:con20 alpine

Untitled

<aside> 🌐 MACVLAN

# mymacvlan network 만들기
docker network create -d macvlan --subnet 192.168.0.0/24 --ip-range **192.168.0.225**/32 --gateway 192.168.0.1 -o parent=enp0s8 mymacvlan

Untitled

# 만든 mymacvlan으로 nginx container 만들기
**docker run -d --name myweb --network mymacvlan nginx**

Untitled

</aside>

<aside> 🌐 Overlay 네트워크

</aside>

</aside>

<aside> 🕹️ 쉬어가는 코너

<aside> ⛔ container에서 script 실행하기

Untitled

</aside>

</aside>

<aside> 🌐 Reverse Proxy Server 및 VPN 연결

<aside> 🚨 Bridege 네트워크의 한계 내부 → 외부 : NAT기능 외부 → 내부 : PORT Forwarding 동일한 PORT가 내부에 여러개가 있을때 문제가 발생!

</aside>

<aside> 💡 Proxy Server

</aside>

</aside>

<aside> 🌐 VPN을 이용한 container

</aside>