Study: DeveloperTools(DevTool)/DevTool: Container

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

DrawingProcess 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

์ฐธ๊ณ 

 

๋ฐ˜์‘ํ˜•