Default Networks
- Docker ๋ฅผ ์ค์นํ๋ฉด ์๋์ผ๋ก 3๊ฐ์ Network ๋ฅผ ์์ฑํจ
- Bridge
- none(null)
- host
- Container ๋ฅผ ๋ค๋ฅธ Network ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์๋์ ๊ฐ์ด Network ๋ฅผ ์ง์ ํด์ผํจ
docker run Ubuntu --network=nonedocker run Ubuntu --network=host
Bridge Network
- Container ์์ ์ฌ์ฉํ๋ Default Network ๋ก Docker ๊ฐ Host ์ ์์ฑํ Private Internal Network
- ๋ชจ๋ Container ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด Network ์ ์ฐ๊ฒฐ๋๋ฉฐ ๋ณดํต 172.17 ๋ก ์์ํ๋ ๋ด๋ถ IP ๊ฐ ํ ๋น๋จ
- ์ด ๋ด๋ถ IP ๋ฅผ ์ฌ์ฉํด Container ๋ผ๋ฆฌ ์์ธ์คํ ์ ์์
none Network
- Container ๊ฐ ์๋ฌด๋ฐ Network ์๋ ์ํ์ง ์์
- ์ฆ, ์ธ๋ถ Network ๋ ๋ค๋ฅธ Container ์ ์์ธ์คํ ์ ์์
host Network
- Container ๋ฅผ Host Network ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์
- ํฌํธ ๋งคํ ์์ด Host ์ ํฌํธ๋ก ์ธ๋ถ ์ ์์ด ๊ฐ๋ฅํจ
User-Defined Networks
- Docker ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ ๋ด๋ถ Bridge Network ๋ง ์์ฑ
docker network create --driver bridge --subnet 182.18.0.0/16 custom-isolated-network- ์ ๋ช ๋ น์ด๋ก User-Defined Network ์์ฑ ๊ฐ๋ฅ
docker network ls๋ช ๋ น์ด๋ก ๋ชจ๋ Network ๋ชฉ๋ก์ ํ์ ๊ฐ๋ฅ
Inspect Network

docker inspect {CONTAINER ID}๋ช ๋ น์ด๋ฅผ ํตํด Network ์ค์ ๊ณผ IP ์ฃผ์ ํ์ธ ๊ฐ๋ฅ
Embedded DNS

- Docker Host ์ ์๋ ๋ชจ๋ Container ๋ ์ด๋ฆ์ผ๋ก ์๋ก ์์ธ์คํ ์ ์์
- Docker ์๋ Container ๋ค์ด ์ด๋ฆ์ผ๋ก ์๋ก ์์ธ์คํ ์ ์๊ฒ ๋์์ฃผ๋ DNS ์๋ฒ๊ฐ ๋ด์ฅ๋์ด ์์
- ๋ด์ฅ DNS ์๋ฒ๋ ํญ์ 127.0.0.11 ์ฃผ์๋ก ์๋ํจ
- Docker ๋ Network Namespace ๋ฅผ ์ฌ์ฉํด ๊ฐ Container ์ ๋ณ๊ฐ์ Namespace ๋ฅผ ์์ฑํจ
- ๊ทธ๋ฆฌ๊ณ Virtual Ethernet Pair ์ ์ฌ์ฉํด Container ๋ฅผ ์ฐ๊ฒฐ
์ค์ต
M1 macOS ์์ Linux ๊ฐ์๋จธ์ ์์ฑํ๊ธฐ
# lima ์ค์น
meatsby ๎ฐ ~ ๎ฐ brew install lima
Warning: lima 2.0.2 is already installed and up-to-date.
To reinstall 2.0.2, run:
brew reinstall lima
# limactl start ๋ก linux-vm ์์ฑ
meatsby ๎ฐ ~ ๎ฐ limactl start
? Creating an instance "default" [Use arrows to move, type to filter]
> Proceed with the current configuration
Open an editor to review or modify the current configuration
Choose another template (docker, podman, archlinux, fedora, ...)
Exit
# ์ฒ์ vm ์์ฑ ํ lima ๊ด๋ จ ์ค์ ํ์ผ์ด ์์ฑ๋๋ค
meatsby ๎ฐ ~ ๎ฐ ls ~/.lima
_config default
# vm ์ ์ ์ ํ root ๋ก ๋ณ๊ฒฝ
meatsby ๎ฐ ~ ๎ฐ lima
meatsby@lima-default:~$ sudo -iLinux ๊ธฐ๋ฐ์ผ๋ก ๋์๊ฐ๋ Docker ๋ฅผ ์์ธํ ์ดํดํ๊ธฐ ์ํด Linux ํ๊ฒฝ์ ๊ตฌ์ฑํด๋ณด์. macOS ์์ Linux ๊ฐ์๋จธ์ ์ ์คํํ๋ ๋ฐฉ๋ฒ ์ค CNCF Incubating Project ์ธ Lima ๋ฅผ ํ์ฉํ ์ ์๋ค.
docker0 ์ veth
# docker ์ค์น
root@lima-default:~# curl -fsSL https://get.docker.com | sudo sh
# bridge-utils ์ค์น
root@lima-default:~# apt install bridge-utils
root@lima-default:~# whatis brctl
brctl (8) - ethernet bridge administration
# ํ์ธํด๋ณด๋ฉด docker ๊ฐ ์์ฑํ docker0 bridge ๊ฐ ๋ณด์ธ๋ค
root@lima-default:~# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.52a2724b9bb3 no
# Container 3๊ฐ ๋ง๋ค๊ณ
root@lima-default:~# docker run -it -d ubuntu:25.10
1e17162852539c94d59688ec70b0db207bb193e6b31efa854e5c6ff7b1742829
root@lima-default:~# docker run -it -d ubuntu:25.10
d63ceb0602e458aee988e0e95ecb5974e327a3f13c8ef875b7fee86bbfa512ed
root@lima-default:~# docker run -it -d ubuntu:25.10
cd8ec41d1eceb7fc56380c49a444f6ec5ab96dc619a91044008de57d4cb3a670
# docker0 ๋ฅผ ํ์ธํด๋ณด๋ฉด veth 3๊ฐ๊ฐ ์ฐ๊ฒฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค
root@lima-default:~# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.52a2724b9bb3 no veth139bafa
veth911300c
vethf7ff838์ผ๋ฐ ํ๋ก์ธ์ค๊ฐ ์ปจํ ์ด๋ํ๋๋ค๋ ๊ฑด namespace ์ cgroup ์ด ์ ์ฉ๋๋ค๋ ์ด์ผ๊ธฐ๊ณ , ๊ทธ ๋ง์ ๋ ๋ฆฝ๋ linux ๋จธ์ ์ฒ๋ผ ๋ค๋ค์ง๋ค๋ ์ด์ผ๊ธฐ๊ฐ ๋๋ค.