DrawingProcess
๋“œํ”„ DrawingProcess
DrawingProcess
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (964)
    • Profile & Branding (22)
      • Career (15)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • ์ธ์ƒ์„ ์‚ด๋ฉด์„œ (64)
      • ๋‚˜์˜ ์ทจ๋ฏธ๋“ค (7)
      • ๋‚˜์˜ ์ƒ๊ฐ๋“ค (42)
      • ์—ฌํ–‰์„ ๋– ๋‚˜์ž~ (10)
      • ๋ถ„๊ธฐ๋ณ„ ํšŒ๊ณ  (5)

๊ฐœ๋ฐœ์ž ๋ช…์–ธ

โ€œ ๋งค์ฃผ ๋ชฉ์š”์ผ๋งˆ๋‹ค ๋‹น์‹ ์ด ํ•ญ์ƒ ํ•˜๋˜๋Œ€๋กœ ์‹ ๋ฐœ๋ˆ์„ ๋ฌถ์œผ๋ฉด ์‹ ๋ฐœ์ด ํญ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ผ.
์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด๋Ÿฐ ์ผ์ด ํ•ญ์ƒ ์ผ์–ด๋‚˜๋Š”๋ฐ๋„ ์•„๋ฌด๋„ ๋ถˆํ‰ํ•  ์ƒ๊ฐ์„ ์•ˆ ํ•œ๋‹ค. โ€

- Jef Raskin

๋งฅ์˜ ์•„๋ฒ„์ง€ - ์• ํ”Œ์ปดํ“จํ„ฐ์˜ ๋งคํ‚จํ† ์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋„

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
DrawingProcess

๋“œํ”„ DrawingProcess

[Docker] ๋„์ปค ๋„คํŠธ์›Œํฌ ์ •๋ฆฌ (feat. docker network)
Study: DeveloperTools(DevTool)/DevTool: Container

[Docker] ๋„์ปค ๋„คํŠธ์›Œํฌ ์ •๋ฆฌ (feat. docker network)

2022. 10. 27. 11:41
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” 'Docker ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋ฒ•'์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค.
Docker๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๋ฌธ๋“ ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์ด์˜ ํ†ต์‹  ๋ฐ ๊ด€๋ จ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•ด์ง€๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋†“์€ ๋ฌธ์„œ์ด๋‹ˆ ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1. Docker ๋„คํŠธ์›Œํฌ ์•Œ์•„๋ณด๊ธฐ

1.1. ๋„คํŠธ์›Œํฌ ์กฐํšŒ

Docker ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๋ณธ์€ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์–ด๋–ค ๋„คํŠธ์›Œํฌ๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ์•„๋Š” ๊ฒƒ์ผ ๊ฒ๋‹ˆ๋‹ค. docker network ls ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” Docker ๋„คํŠธ์›Œํฌ ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker network ls
NETWORK ID     NAME                   DRIVER    SCOPE
9c30a1171e7e   bridge                 bridge    local
c7e387e38900   host                   host      local
05328f1badbd   install_PKI            bridge    local
72af805ed4d5   install_default        bridge    local
4b19ab4ddff9   none                   null      local
  • bridge, host, none์€ Docker ๋ฐ๋ชฌ(daemon)์ด ์‹คํ–‰๋˜๋ฉด์„œ ๋””ํดํŠธ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๋‹ค.
  • ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์—๋Š” ์ด๋Ÿฌํ•œ ๋””ํดํŠธ ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

1.2 ๋„คํŠธ์›Œํฌ ์ข…๋ฅ˜

Docker ๋„คํŠธ์›Œํฌ๋Š” bridge, host, overlay ๋“ฑ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„(driver)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

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

  • ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋“ค์ด ์„œ๋กœ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.
  • ๊ฐ™์€ Docker daemon host๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ๋“ค์€ ๋™์ผํ•œ bridge network์— ์—ฐ๊ฒฐ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. NAT๋„ Docker๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ธŒ๋ฆฟ์ง€ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•˜๋ฉฐ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ Bridge๋Š” ์ด๋”๋„ท ๋„คํŠธ์›Œํฌ์™€ MAC ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด Link Layer์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ๋งํ•˜์ง€๋งŒ, Host์˜ kernel์—์„œ ์ž‘๋™ํ•˜๋Š” software๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณ„๋‹ค๋ฅธ ์„ค์ •์„ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” Default Network Driver์ด๋‚˜, HOST์˜ docker0 ๋ธŒ๋ฆฌ์ง€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ์— eth0๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด user-defined bridge๋ฅผ ์ง์ ‘ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

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

  • ์ปจํ„ฐ์ด๋„ˆ๋ฅผ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์™€ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์‹คํ–‰๋œ ์ปจํ…Œ์ด๋„ˆ๋“ค์ด ๋ธŒ๋ฆฟ์ง€ ๋„คํŠธ์›Œํฌ์ฒ˜๋Ÿผ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๊ณ  Host์˜ Port๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ”์ธ๋”ฉํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • HOST์˜ ๋„คํŠธ์›Œํฌ ์Šคํƒ์— fully access ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ์— ๋ถ„์‚ฐ๋˜์–ด ๋Œ์•„๊ฐ€๋Š” ์ปจํ…Œ์ด๋„ˆ๋“ค ๊ฐ„์— ๋„คํŠธ์›Œํ‚น์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋ณต์ˆ˜์˜ docker daemon host, swarm service ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ
  • swarm์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด docker host๋ฅผ swarm์— ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ ๋‘ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ๊ฐ€ ํ˜•์„ฑ๋œ๋‹ค.
  • ingress๋ผ๋Š” overlay network๋Š” swarm service๋“ค์˜ ํŠธ๋ž˜ํ”ฝ์„ ์ปจํŠธ๋กคํ•˜๋ฉฐ, swarm service๋ฅผ ์ƒ์„ฑํ•˜๊ณ  user-defined overlay network์— ์ง์ ‘ ์—ฐ๊ฒฐํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด default๋กœ ingress ์— ์—ฐ๊ฒฐ๋œ๋‹ค.
  • docker_gwbridge ๋ผ๋Š” bridge network๊ฐ€ ๋™์ผ swarm ๋‚ด์— ์žˆ๋Š” Docker Daemon๋“ค์„ ์—ฐ๊ฒฐํ•œ๋‹ค.

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

  • ์ปจํ…Œ์ด๋„ˆ์— MAC address๋ฅผ ํ• ๋‹นํ•œ๋‹ค.

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

  • ip๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ์•Š๊ณ  ์–ด๋А ๋„คํŠธ์›Œํฌ์—๋„ ์†ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ฃจํ”„๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ƒ์„ฑ๋˜์–ด, ๋ณดํ†ต cronjob๊ฐ™์ด ๋ฐฐ์น˜์ž‘์—…์„ ํ•  ๋•Œ ์”๋‹ˆ๋‹ค.

1.3 ๋„คํŠธ์›Œํฌ ์ƒ์„ธ ์ •๋ณด

๋„คํŠธ์›Œํฌ์˜ ์ƒ์„ธ์ •๋ณด๋Š” docker network inspect ์ปค๋งจ๋“œ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker network inspect bridge

2. Docker ๋„คํŠธ์›Œํฌ ๋‹ค๋ฃจ๊ธฐ

2.1 ๋„คํŠธ์›Œํฌ ์ƒ์„ฑ

๋จผ์ € docker network create ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒˆ๋กœ์šด Docker ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

$ docker network create our-net
e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68

2.2 ๋„คํŠธ์›Œํฌ์— ์ปจํ…Œ์ด๋„ˆ ์—ฐ๊ฒฐ

๋จผ์ € ์ปจํ…Œ์ด๋„ˆ ํ•˜๋‚˜๋ฅผ one๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

$ docker run -itd --name one busybox
660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ --network ์˜ต์…˜์„ ๋ช…์‹œํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด, ๊ธฐ๋ณธ์ ์œผ๋กœ bride๋ผ๋Š” ์ด๋ฆ„์˜ ๋””ํดํŠธ ๋„คํŠธ์›Œํฌ์— ๋ถ™๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

$ docker network inspect bridge
...
        "Containers": {
            "660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9": {
                "Name": "one",
                "EndpointID": "40b4bbd8385debf86eef2fc2136315e1a82fa1ef72877bfae25477d6e8e46726",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
        },
...

์ด one ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์œ„์—์„œ ์ƒ์„ฑํ•œ our-net ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Docker ๋„คํŠธ์›Œํฌ์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ๋Š” docker network connect ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

$ docker network connect our-net one

our-net ๋„คํŠธ์›Œํฌ์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด๋ฉด Containers ํ•ญ๋ชฉ์— one ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. one ์ปจํ…Œ์ด๋„ˆ์— IP 172.19.0.2๊ฐ€ ํ• ๋‹น๋œ ๊ฒƒ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2.3 ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ์ปจํ…Œ์ด๋„ˆ ์—ฐ๊ฒฐ ํ•ด์ œ

ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ์— ๋™์‹œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ดˆ์— one ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ bridge ๋„คํŠธ์›Œํฌ ๋ถ™์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ˜„์žฌ one ์ปจํ…Œ์ด๋„ˆ๋Š” our-net ๋„คํŠธ์›Œํฌ์™€ bridge ๋„คํŠธ์›Œํฌ์— ๋™์‹œ์— ๋ถ™์–ด์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

one ์ปจํ…Œ์ด๋„ˆ๋ฅผ bridge ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๋•Œ์–ด ๋‚ด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Docker ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ์ปจํ…Œ์ด๋„ˆ์˜ ์—ฐ๊ฒฐ์„ ๋Š์„ ๋•Œ๋Š” docker network disconnect ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

$ docker network disconnect bridge one

2.4 ๋‘๋ฒˆ์งธ ์ปจํ…Œ์ด๋„ˆ ์—ฐ๊ฒฐ

๋„คํŠธ์›Œํฌ์— ํ™€๋กœ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ๋Š” ํฐ ์˜๋ฏธ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋” our-net ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” --network ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•  ๋„คํŠธ์›Œํฌ๋ฅผ ์ง€์ •ํ•ด์ฃผ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

$ docker run -itd --name two --network our-net busybox
0e7fe8a59f9d3f8bd545d3e557ffd34100a09b8ebe92ae5a375f37a5d072873d

our-net ๋„คํŠธ์›Œํฌ์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด two ์ปจํ…Œ์ด๋„ˆ์— IP 172.19.0.3๊ฐ€ ํ• ๋‹น๋˜์–ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker network inspect our-net
[
    {
        "Name": "our-net",
        "Id": "e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68",
        "Created": "2020-04-26T19:23:04.563643516Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "0e7fe8a59f9d3f8bd545d3e557ffd34100a09b8ebe92ae5a375f37a5d072873d": {
                "Name": "two",
                "EndpointID": "a0e3625e48f0b833cd551d6dfb3b1a2a7614f1343adbc5e6aefa860d917ddea9",
                "MacAddress": "02:42:ac:13:00:03",
                "IPv4Address": "172.19.0.3/16",
                "IPv6Address": ""
            },
            "660bafdce2996378cde070dfd894731bb90745e46d2ab10d6504c0cc9f4bdea9": {
                "Name": "one",
                "EndpointID": "cc490148a533d40b3aff33a421cc9a01c731c75a8deb70ab729a5358f2fd381c",
                "MacAddress": "02:42:ac:13:00:02",
                "IPv4Address": "172.19.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

2.5 ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ๋„คํŠธ์›Œํ‚น ํ™•์ธ

์ด์ œ ๋‘ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์„œ๋กœ ์†Œํ†ต์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. one ์ปจํ…Œ์ด๋„ˆ์—์„œ two ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ๋Œ€๋กœ ping ๋ช…๋ น์–ด๋ฅผ ๋‚ ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์„ ํ˜ธ์ŠคํŠธ๋„ค์ž„(hostname)์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker exec one ping two
PING two (172.19.0.3): 56 data bytes
64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.119 ms
64 bytes from 172.19.0.3: seq=1 ttl=64 time=0.105 ms
...

2.6 ๋„คํŠธ์›Œํฌ ์ œ๊ฑฐ

๋งˆ์ง€๋ง‰์œผ๋กœ docker network rm ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ our-net ๋„คํŠธ์›Œํฌ๋ฅผ ์ œ๊ฑฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$ docker network rm our-net
Error response from daemon: error while removing network: network our-net id e6dfe4a9a5ec85abcb484662c30a3a0fc76df217dde76d52fac39fae8412ca68 has active endpoints

์œ„์™€ ๊ฐ™์ด ์ œ๊ฑฐํ•˜๋ ค๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ์ œ๊ฑฐ๊ฐ€ ๋˜์ง€๊ฐ€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” ํ•ด๋‹น ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์–ด ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋จผ์ € ์ค‘์ง€ ์‹œํ‚ค๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

$ docker stop one two
one
two
$ docker network rm our-net
our-net

2.7 ๋„คํŠธ์›Œํฌ ์ฒญ์†Œ (prune)

ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์—์„œ ๋‹ค์ˆ˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋Œ๋ฆฌ๋‹ค ๋ณด๋ฉด ์•„๋ฌด ์ปจํ…Œ์ด๋„ˆ๋„ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ƒ๊ธฐ๊ฐ€ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ๋Š” docker network prune ์ปค๋งจ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ๋ถˆํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ•œ๋ฒˆ์— ๋ชจ๋‘ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker network prune
WARNING! This will remove all networks not used by at least one container.
Are you sure you want to continue? [y/N] y

์ฐธ๊ณ 

  • Docker ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋ฒ•: https://www.daleseo.com/docker-networks/
  • [Tistory] ๋„์ปค ๋„คํŠธ์›Œํฌ ๋‹ค๋ฃจ๊ธฐ -1: https://xodwkx2.tistory.com/entry/%EB%8F%84%EC%BB%A4-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Study: DeveloperTools(DevTool) > DevTool: Container' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Docker] ๋„์ปค ์ปจํ…Œ์ด๋„ˆ, ๊ฐ€์ƒํ™”, ๋‚ด๋ถ€๊ตฌ์กฐ (feat. VM vs Container)  (1) 2022.11.27
[Docker] ๋„์ปค ์šฉ๋Ÿ‰ ํ™•์ธ ๋ฐ ๊ด€๋ฆฌ (feat. ์„œ๋ฒ„์˜ ์šฉ๋Ÿ‰์ด ๊ฝ‰ ์ฐจ๋ฒ„๋ ธ๋‹ค)  (1) 2022.10.29
[Docker] Privileged Container์— ๋Œ€ํ•˜์—ฌ  (1) 2022.10.03
[Docker] docker-compose VS docker compose ์ฐจ์ด์  ๋น„๊ต  (0) 2022.09.07
[Docker] Docker Compose ์ปค๋งจ๋“œ ์‚ฌ์šฉ๋ฒ•  (0) 2022.09.06
    'Study: DeveloperTools(DevTool)/DevTool: Container' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Docker] ๋„์ปค ์ปจํ…Œ์ด๋„ˆ, ๊ฐ€์ƒํ™”, ๋‚ด๋ถ€๊ตฌ์กฐ (feat. VM vs Container)
    • [Docker] ๋„์ปค ์šฉ๋Ÿ‰ ํ™•์ธ ๋ฐ ๊ด€๋ฆฌ (feat. ์„œ๋ฒ„์˜ ์šฉ๋Ÿ‰์ด ๊ฝ‰ ์ฐจ๋ฒ„๋ ธ๋‹ค)
    • [Docker] Privileged Container์— ๋Œ€ํ•˜์—ฌ
    • [Docker] docker-compose VS docker compose ์ฐจ์ด์  ๋น„๊ต
    DrawingProcess
    DrawingProcess
    ๊ณผ์ •์„ ๊ทธ๋ฆฌ์ž!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”