1. Docker Network๋?
โข
Docker ์ปจํ
์ด๋๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋คํธ์ํฌ๋ฅผ ํตํด ์๋ก ํต์ ํ ์ ์์
โข
Docker๋ ์์ฒด์ ์ผ๋ก ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค์ด ์ปจํ
์ด๋๋ฅผ ์ฐ๊ฒฐํ๊ณ , ์ธ๋ถ(ํธ์คํธ/์ธํฐ๋ท)์๋ ์ฐ๊ฒฐํ ์ ์๊ฒ ํด์ค
โข
์ฆ, ์ปจํ
์ด๋ ๊ฐ ํต์ , ์ธ๋ถ ๋
ธ์ถ, ์๋น์ค ๋ถ๋ฆฌ๋ฅผ ์ ์ดํ๋ ํต์ฌ ์์๊ฐ Docker Network
2. Docker ๊ธฐ๋ณธ ๋คํธ์ํฌ ๋๋ผ์ด๋ฒ
bridge (๊ธฐ๋ณธ๊ฐ)
โข
๋ณ๋ ์ต์
์ด ์์ผ๋ฉด ์ปจํ
์ด๋๋ bridge ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋จ
โข
์ปจํ
์ด๋ ๊ฐ์ ๋ด๋ถ IP๋ก ํต์ ๊ฐ๋ฅ, ์ธ๋ถ ์ ๊ทผ์ p ์ต์
์ผ๋ก ํฌํธ ๋งคํํด์ผ ํจ
docker run --name <์ปจํ
์ด๋๋ช
> -d <์ด๋ฏธ์ง๋ช
>
docker network ls # bridge ๋คํธ์ํฌ ํ์ธ
Bash
๋ณต์ฌ
host
โข
์ปจํ
์ด๋๊ฐ ํธ์คํธ์ ๋คํธ์ํฌ๋ฅผ ๊ณต์
โข
ํธ์คํธ์ IP/ํฌํธ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉ (ํฌํธ ๋งคํ ํ์ ์์)
docker run --name <์ปจํ
์ด๋๋ช
> -d --network host <์ด๋ฏธ์ง๋ช
>
Bash
๋ณต์ฌ
none
โข
๋คํธ์ํฌ๋ฅผ ์์ ์ฌ์ฉํ์ง ์์
โข
์์ ํ ๊ณ ๋ฆฝ๋ ์ํ๋ก ์คํ
docker run --name <์ปจํ
์ด๋๋ช
> -d --network none <์ด๋ฏธ์ง๋ช
>
Bash
๋ณต์ฌ
overlay
โข
์ฌ๋ฌ Docker ํธ์คํธ(์๋ฒ) ๊ฐ์ ์ปจํ
์ด๋๋ฅผ ์ฐ๊ฒฐํ ๋ ์ฌ์ฉ (Swarm/Kubernetes ํ๊ฒฝ)
macvlan
โข
์ปจํ
์ด๋์ ์ค์ ๋ฌผ๋ฆฌ ๋คํธ์ํฌ ์นด๋์ฒ๋ผ MAC ์ฃผ์๋ฅผ ๋ถ์ฌ
โข
๋์ผ LAN์ ๋ค๋ฅธ ์ฅ์น๋ค๊ณผ ์ง์ ํต์ ๊ฐ๋ฅ
3. ๋คํธ์ํฌ ๊ด๋ฆฌ ๋ช
๋ น์ด
๋คํธ์ํฌ ํ์ธ
docker network ls
docker network inspect <๋คํธ์ํฌ๋ช
>
Bash
๋ณต์ฌ
์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ ์์ฑ
โข
๊ธฐ๋ณธ bridge ๋์ ์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค๋ฉด ์ปจํ
์ด๋ ๊ฐ ์ด๋ฆ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
docker network create <๋คํธ์ํฌ๋ช
>
docker run --name <์ปจํ
์ด๋๋ช
> -d --network mynetwork <์ด๋ฏธ์ง๋ช
>
Bash
๋ณต์ฌ
โข
๊ฐ์ mynetwork ์์ ์๋ ์ปจํ
์ด๋๋ผ๋ฆฌ๋ ping <์ปจํ
์ด๋๋ช
> ์ผ๋ก ํต์ ๊ฐ๋ฅ
๋คํธ์ํฌ ์ฐ๊ฒฐ/ํด์
docker network connect <๋คํธ์ํฌ๋ช
> <์ปจํ
์ด๋๋ช
>
docker network disconnect <๋คํธ์ํฌ๋ช
> <์ปจํ
์ด๋๋ช
>
Bash
๋ณต์ฌ
4. ์ค์ต ์์
1.
์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ ์์ฑ
docker network create mynetwork
Bash
๋ณต์ฌ
2.
๊ฐ์ ๋คํธ์ํฌ ์์ ์ปจํ
์ด๋ 2๊ฐ ์คํ
docker run --name <์ปจํ
์ด๋๋ช
1> -d --network mynetwork <์ด๋ฏธ์ง๋ช
>
docker run --name <์ปจํ
์ด๋๋ช
2> -d --network mynetwork <์ด๋ฏธ์ง๋ช
>
Bash
๋ณต์ฌ
3.
<์ปจํ
์ด๋๋ช
1> ์์ <์ปจํ
์ด๋๋ช
2> ๋ก ์ ๊ทผ (์ปจํ
์ด๋ ์ด๋ฆ์ผ๋ก ํต์ ๊ฐ๋ฅ)
ํต์ฌ ์์ฝ
โข
Docker ๋คํธ์ํฌ = ์ปจํ
์ด๋ ๊ฐ, ์ธ๋ถ์ ํต์ ์ ์ ์ดํ๋ ๊ฐ์ ๋คํธ์ํฌ
โข
์ฃผ์ ๋๋ผ์ด๋ฒ: bridge(๊ธฐ๋ณธ), host, none, overlay, macvlan
โข
์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ๋ฅผ ์ฐ๋ฉด ์ปจํ
์ด๋ ์ด๋ฆ์ผ๋ก ํต์ ๊ฐ๋ฅ
โข
docker network create, connect, disconnect ๋ฑ์ผ๋ก ์ ์ด