1. Docker Network ์ํคํ ์ฒ
๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ ์๋ ๋คํธ์ํฌ
- Docker Host ์ ๊ธฐ๋ณธ Bridge Network ์ธํฐํ์ด์ค : docker0
๊ทธ๋ฆผ ์์๋ก ๋ณด๋ฉด docker0์ ํธ์คํธ์ eth0 (192.168.0.2)์ ์ฐ๊ฒฐ๋์ด์๋ค. - Docker Container ์ ๊ธฐ๋ณธ Bridge Network ์ธํฐํ์ด์ค : vethXXX
2. Docker Network ๊ด๋ จ ๋ช ๋ น์ด
2-1 Docker Network ์์ธ ์ ๋ณด ํ์ธ
docker network inspect NETWORK_NAME
2-2 Docker Network ์์ฑ
$ docker network create [OPTION] NETWORK_NAME
๋์ปค๋ IP๋ฅผ 172.17.0.X ํํ๋ก ์์ฐจ์ ์ผ๋ก IP๋ฅผ ๋๋ ์ฃผ๊ฒ ๋๋ค.
2-3 Docker Network ์์ฑ ์ต์
-d , --driver string ๋คํธ์ํฌ ์ข
๋ฅ, ์ต์
์ ์ง์ ํ์ง ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ bridge ๋คํธ์ํฌ์ด๋ค !
--gateway strings ๊ฒ์ดํธ์จ์ด ์ฃผ์
--subnet strings ์๋ธ๋ท (๋คํธ์ํฌ ๋์ญ)
2-4 ๋คํธ์ํฌ๋ฅผ ์ง์ ํ์ฌ Docker Container ์์ฑ ๋ฐ ์คํ
$ docker container run -dt —network NETWORK —name CONTAINER centos:7
[user@localhost ~]$ docker container run -dt --network net1 --name centos-11 centos:7
b79a2f0c864c19a88449138abc48d40e6db85f5e916026868042d235b2be4fa9
[user@localhost ~]$ docker run -dt --network net1 --name centos-12 centos:7
e84586ac82e0bf6886f89e5dde40a97dcdc43bfc33abf0d07ff99d2463493542
2-5 Docker Network ์ญ์
docker network rm NETWORK
2-6 ์ถ๊ฐ๋ก Network ์ฐ๊ฒฐํ๊ธฐ
docker network connect NETWORK CONTAINER
2-7 Network ์ฐ๊ฒฐ ํด์ ํ๊ธฐ
docker network disconnect NETWORK CONTAINER
3. Bridge Network
Bridge Network : Docker ๋ด๋ถ์ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํ๊ณ Docker Host์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ ์๋ ๋คํธ์ํฌ
$ docker create network -d bridge net1
$ docker container run -dt --network net1 --name centos-11 centos:7
4. Host Network
- Docker Host์ ๋คํธ์ํฌ๋ฅผ ์ง์ ๊ณต์ ํ๋ ๋คํธ์ํฌ
- Docker Host์ ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ Docker ์ปจํ ์ด๋์์ ์ฌ์ฉ์ค์ธ ํฌํธ๋ก ์ ๊ทผํ ์ ์์ -> ์ปจํ ์ด๋๊ฐ 80 ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฉด ํธ์คํธ๋ก 80 ํฌํธ๋ก ์ ์ํ ์ ์์
docker container run -dt --network host --name centos-host centos:7
5. Null (None) Network
๋คํธ์ํฌ๊ฐ ํ์ํ์ง ์๋ ์ปจํ ์ด๋๊ฐ ์ฌ์ฉํ๋ ๋คํธ์ํฌ๋ก ์ธ๋ถ์ ๋จ์ ๋จ. ์ธ๋ถ๋ก ์ ์ถ๋๋ฉด ์๋๋ ์ปจํ ์ด๋์ ๊ฒฝ์ฐ null network๋ก ๊ตฌ์ฑํ๋ค.
docker run -it --network none --name CONTAINER_NAME IMAGE
[์์]
ping test๋ฅผ ํ๋ฉด ์ ์์ด ๋์ง ์๋๋ค.
[user@localhost ~]$ docker run -it --network none --name container-null busybox:latest
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
/ # ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network is unreachable
loopback interface๋ง ์๊ณ ๋คํธ์ํฌ ์นด๋๊ฐ ์์์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค !
busybox : ๋ฆฌ๋ ์ค์์ ์์คํ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ์ ํธ๋ฆฌํฐ๋ฅผ ๋ชจ์๋์ ๊ฒ
6. MACVLAN Network
ํธ์คํธ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๊ฐ์ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๋ ์ ํ
https://docs.docker.com/network/
'Cloud Engineering > Docker ๐ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Docker] ์ปจํ ์ด๋ ํฌํธํฌ์๋ฉ (docker run -p) ์ค์ (0) | 2023.02.03 |
---|---|
[Docker] ์ปจํ ์ด๋ link ์ค์ (0) | 2023.02.03 |
[Docker] Docker Volume ๋ช ๋ น์ด ๋ฐ ์ฌ์ฉ ์์ (0) | 2023.02.02 |
[Docker] ๋์ปค ์ปจํ ์ด๋ Bind Mount (0) | 2023.02.02 |
[Docker] ์ปจํ ์ด๋ ๊ด๋ฆฌ ๋ช ๋ น์ด - attach, exec, top, diff, logs, cp (0) | 2023.02.01 |