Default Networks


  • Docker ๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ 3๊ฐœ์˜ Network ๋ฅผ ์ƒ์„ฑํ•จ
    • Bridge
    • none(null)
    • host
  • Container ๋ฅผ ๋‹ค๋ฅธ Network ์™€ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Network ๋ฅผ ์ง€์ •ํ•ด์•ผํ•จ
    • docker run Ubuntu --network=none
    • docker 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 ๋ฅผ ์—ฐ๊ฒฐ

References