๐ŸŒ Docker ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ

study 2025๋…„ 5์›” 14์ผ

๐ŸŒ Docker ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ

Docker๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ **๋ธŒ๋ฆฌ์ง€ ๋„คํŠธ์›Œํฌ(bridge network)**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ํ†ต์‹ ๊ณผ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ ์ค‘์ธ ๋‘ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿงฑ Host (Docker ๋ฐ๋ชฌ์ด ์‹คํ–‰ ์ค‘์ธ ๋จธ์‹ )

  • eth0 (192.168.1.22): ์‹ค์ œ ๋ฌผ๋ฆฌ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • docker0 (172.17.42.1): Docker๊ฐ€ ์ƒ์„ฑํ•œ ๋ธŒ๋ฆฌ์ง€ ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ๋‚ด๋ถ€ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ์˜ ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฆ Container #1

  • eth0 (172.17.0.2): ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ๋ณด์ด๋Š” ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • veth5998947: ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ€์ƒ ์ด๋”๋„ท ์Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๐Ÿ“ฆ Container #2

  • eth0 (172.17.0.3): Container #2์˜ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • veth220960a: ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ์™€ ํ˜ธ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ€์ƒ ์ด๋”๋„ท ํŽ˜์–ด์ž…๋‹ˆ๋‹ค.

ํ†ต์‹  ํ๋ฆ„

  • ๊ฐ ์ปจํ…Œ์ด๋„ˆ๋Š” ์ž์ฒด eth0 ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง€๋ฉฐ, veth ์Œ์„ ํ†ตํ•ด ํ˜ธ์ŠคํŠธ์˜ docker0 ๋ธŒ๋ฆฌ์ง€์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • docker0๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ํ†ต์‹ ๊ณผ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ๋กœ์˜ ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ…์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€์—์„œ ์ปจํ…Œ์ด๋„ˆ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด, ํฌํŠธ ํฌ์›Œ๋”ฉ ๋˜๋Š” ๋ธŒ๋ฆฌ์ง€ ์™ธ์˜ ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงญ Docker ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ์ข…๋ฅ˜

Docker๋Š” ์„ค์น˜ ์‹œ ์•„๋ž˜์™€ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ์ปจํ…Œ์ด๋„ˆ์˜ ๋„คํŠธ์›Œํฌ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€๊ณผ ํ†ต์‹  ๋ฐฉ์‹์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๐Ÿ”— bridge (๊ธฐ๋ณธ๊ฐ’)

  • Docker์˜ ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„์ž…๋‹ˆ๋‹ค.
  • ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ ๋‚ด ์ปจํ…Œ์ด๋„ˆ๋“ค๋ผ๋ฆฌ๋Š” ํ†ต์‹  ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ฒฉ๋ฆฌ๋œ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ(๋ธŒ๋ฆฌ์ง€)๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • **์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ํ†ต์‹ ํ•˜๋ ค๋ฉด ํฌํŠธ ํฌ์›Œ๋”ฉ(๋งคํ•‘)**์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋กœ ๊ฒฉ๋ฆฌ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ช…์‹œ์ ์œผ๋กœ ๋งํฌํ•˜์ง€ ์•Š๋Š” ํ•œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๐ŸŒ host

  • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ˜ธ์ŠคํŠธ์˜ ๋„คํŠธ์›Œํฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๊ทธ๋Œ€๋กœ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ„๋„์˜ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค ์—†์ด ํ˜ธ์ŠคํŠธ์™€ ๋™์ผํ•œ IP ๋ฐ ํฌํŠธ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํฌํŠธ ๋งคํ•‘์ด ํ•„์š” ์—†์œผ๋ฉฐ, ์„ฑ๋Šฅ ์ƒ์˜ ์ด์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‚˜ ๊ฒฉ๋ฆฌ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋ณด์•ˆ์— ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿšซ none

  • ์ปจํ…Œ์ด๋„ˆ์— ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ถ€์—ฌํ•˜์ง€ ์•Š์Œ.
  • ์˜ค์ง ๋ฃจํ”„๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค(lo)๋งŒ ์กด์žฌํ•˜๋ฉฐ, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€์˜ ํ†ต์‹ ์ด ์™„์ „ํžˆ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•„์š” ์—†๋Š” ์ž‘์—…์ด๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค์ •ํ•  ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ๋“ค์€ Docker์—์„œ ์ปจํ…Œ์ด๋„ˆ์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์„ค์ •ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž ์ •์˜ ๋„คํŠธ์›Œํฌ๋„ ์ƒ์„ฑํ•˜์—ฌ ๋ณด๋‹ค ์œ ์—ฐํ•œ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹ค์Šตํ™”๋ฉด

host ๋„คํŠธ์›Œํฌ

bridge ๋„คํŠธ์›Œํฌ(๋””ํดํŠธ)

ํŒŒ์ผ ์ „์†ก ๐Ÿ“‚

ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ํŒŒ์ผ ๋ณต์‚ฌ:

# ํ˜ธ์ŠคํŠธ โ†’ ์ปจํ…Œ์ด๋„ˆ๋กœ ํŒŒ์ผ ๋ณต์‚ฌ
docker container cp [์ถœ๋ฐœ ๊ฒฝ๋กœ/๋ณด๋‚ด๊ณ  ์‹ถ์€ ํŒŒ์ผ๋ช…] [๋„์ฐฉ ์ปจํ…Œ์ด๋„ˆ:ํŒŒ์ผ ์ €์žฅ ๊ฒฝ๋กœ]

# ์ปจํ…Œ์ด๋„ˆ โ†’ ํ˜ธ์ŠคํŠธ๋กœ ํŒŒ์ผ ๋ณต์‚ฌ
docker container cp [์ถœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ:/๋ณด๋‚ด๊ณ  ์‹ถ์€ ํŒŒ์ผ๋ช…] [๋„์ฐฉ ๊ฒฝ๋กœ]

ํƒœ๊ทธ