6. docker-networkd

  • 도컀 μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신을 κ΄€λ¦¬ν•˜λŠ” 도ꡬ이닀.

  • λ„€νŠΈμ›Œν¬λŠ” μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신을 ν—ˆμš©ν•˜κ³  호슀트 μ‹œμŠ€ν…œ λ˜λŠ” μ™ΈλΆ€ λ„€νŠΈμ›Œν¬μ™€μ˜ 톡신을 μ œμ–΄ν•œλ‹€.

  • λ„€νŠΈμ›Œν¬λŠ” μ»¨ν…Œμ΄λ„ˆμ˜ 톡신을 λΆ„λ¦¬ν•˜κ³  κ΄€λ¦¬ν•¨μœΌλ‘œμ¨ λ³΄μ•ˆμ„ κ°•ν™”ν•˜κ³  λ„€νŠΈμ›Œν¬ ꡬ성을 κ°„μ†Œν™”ν•œλ‹€.

  • docker network driver λŠ” μ•„λž˜μ˜ μ’…λ₯˜κ°€ μžˆλ‹€.

    • bridge

    • overlay

    • host

    • ipvlan

    • macvlan

    • none

  • μ‚¬μš©μž μ •μ˜ λ„€νŠΈμ›Œν¬λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€. (κ³΅μ‹λ¬Έμ„œ 확인)

bridge

  • κΈ°λ³Έ λ„€νŠΈμ›Œν¬

  • λ™μΌν•œ ν˜ΈμŠ€νŠΈμ—μ„œ μ‹€ν–‰λ˜λŠ” μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신을 μ§€μ›ν•œλ‹€.

  • 호슀트 λ„€νŠΈμ›Œν¬μ™€ λΆ„λ¦¬λ˜μ–΄ 있으며, 기본적으둜 NAT(Network Address Translation)κ°€ ν™œμ„±ν™”

docker network create my-net
docker network rm my-net
docker create --name my-nginx --network my-net -p 8080:80 nginx:latest
docker network connect my-net my-nginx # μ‹€ν–‰ 쀑인 μ»¨ν…Œμ΄λ„ˆμ— μ—°κ²°ν•΄μ•Ό ν•  경우
docker network disconnect my-net my-nginx # μ‹€ν–‰ 쀑인 μ»¨ν…Œμ΄λ„ˆμ— μ—°κ²° ν•΄μ œν•΄μ•Ό ν•  경우

host

  • 호슀트 μ‹œμŠ€ν…œμ˜ λ„€νŠΈμ›Œν¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•œλ‹€.

  • 이 경우 μ»¨ν…Œμ΄λ„ˆλŠ” ν˜ΈμŠ€νŠΈμ™€ λ™μΌν•œ λ„€νŠΈμ›Œν¬μ— μ—°κ²°λ˜λ©°, 호슀트의 λ„€νŠΈμ›Œν¬μ™€ λ™μΌν•œ IPμ£Όμ†Œλ₯Ό κ°–λŠ”λ‹€.

overlay

  • μ—¬λŸ¬ 호슀트 κ°„μ˜ μ»¨ν…Œμ΄λ„ˆ 톡신을 μ§€μ›ν•˜λŠ” λ„€νŠΈμ›Œν¬

  • Docker Swarmκ³Ό 같은 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ λ„κ΅¬μ—μ„œ μ‚¬μš©λœλ‹€.

docker network create -d overlay --attachable my-attachable-overlay
docker network create --help

macvlan

  • μ»¨ν…Œμ΄λ„ˆμ— κ³ μœ ν•œ MAC μ£Όμ†Œλ₯Ό ν• λ‹Ήν•˜μ—¬, 호슀트 λ„€νŠΈμ›Œν¬μ™€ 직접 μ—°κ²°λ˜λŠ” λ„€νŠΈμ›Œν¬μ΄λ‹€.

  • 이 λ„€νŠΈμ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ©΄ μ»¨ν…Œμ΄λ„ˆκ°€ ν˜ΈμŠ€νŠΈμ™€ λ™μΌν•œ λ„€νŠΈμ›Œν¬μ—μ„œ 직접 톡신할 수 μžˆμŠ΅λ‹ˆλ‹€.

none

  • μ»¨ν…Œμ΄λ„ˆμ˜ λ„€νŠΈμ›Œν‚Ή μŠ€νƒμ„ μ™„μ „νžˆ λΆ„λ¦¬ν•˜λ €λ©΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹œμž‘ν•  λ•Œ --network none ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©

  • μ»¨ν…Œμ΄λ„ˆ λ‚΄μ—λŠ” 루프백 μž₯치만 생성

  • μ™ΈλΆ€μ—μ„œ μ ‘κ·Όν•  수 μ—†λŠ” μ„œλΉ„μŠ€μ— 적합

docker run --rm --network none alpine:latest ip link show

Ref

Last updated