์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[TIL] ๋„์ปค ๋ณผ๋ฅจ ๋งˆ์šดํŠธ ๊ฐœ์š”

CLOUD/Docker

by ์—์Šคํ”„๋ฆฌํ„ฐ 2022. 12. 12. 07:21

๋ณธ๋ฌธ

728x90
๐Ÿ’ก
Today I Learned ์š”์•ฝ (37ํšŒ์ฐจ) - ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋Š” ํœ˜๋ฐœ์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด ๋ณ„๋„์˜ ๋ณผ๋ฅจ์„ ๋‘๊ณ  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์™ธ๋ถ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋„์ปค ๋ณผ๋ฅจ ๋งˆ์šดํŠธ ๊ฐœ์š”

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

  • ๋ณผ๋ฅจ ๋งˆ์šดํŠธ
    • ๋„์ปค ์—”์ง„์ด ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ ๋‚ด ๋งŒ๋“ค์–ด์ง„ ๋ณผ๋ฅจ์„ ์ปจํ…Œ์ด๋„ˆ์— ๋””์Šคํฌ ํ˜•ํƒœ๋กœ ๋งˆ์šดํŠธ (์ž„์‹œ์šฉ์ด๋‚˜ ์ง€์šฐ๋ฉด ์•ˆ๋˜๋Š” ํŒŒ์ผ์„ ๋‘๋Š” ๋ชฉ์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ)
  • ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ
    • ๋„์ปค๊ฐ€ ์„ค์น˜๋œ ์ปดํ“จํ„ฐ์˜ ๋””๋ ‰ํ† ๋ฆฌ(ํด๋”) ๋“ฑ ๋„์ปค ์—”์ง„์—์„œ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ์™ธ๋ถ€ ์˜์—ญ์˜ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์— ๋งˆ์šดํŠธํ•˜์—ฌ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค (์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํŒŒ์ผ์„ ๋‘๋Š” ๋ฐ ์‚ฌ์šฉ)
  • tmpfs ๋งˆ์šดํŠธ
    • ์ฃผ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋งˆ์šดํŠธํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ , ์†๋„๊ฐ€ ๋†’์ง€๋งŒ ๋„์ปค๊ฐ€ ์ •์ง€๋˜๊ฑฐ๋‚˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ์žฌ๋ถ€ํŒ…ํ•˜๋ฉด ์†Œ๋ฉธ

๋ณผ๋ฅจ๊ณผ ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ ๋ฐฉ์‹์˜ ์ฐจ์ด์ ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ๋ณผ๋ฅจ ๋งˆ์šดํŠธ๋Š” ์ฒ˜์Œ์—” ์ ‘๊ทผ์ด ์–ด๋ ต์ง€๋งŒ ์ต์ˆ™ํ•ด์ง„๋‹ค๋ฉด ๊ฒฝ๋กœ ์„ค์ • ๋“ฑ์˜ ๋ถ€๋‹ด์ด ์ค„์–ด๋“ค์–ด์„œ ๊ถŒ์žฅ.
  • ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ๋Š” ์™ธ๋ถ€์˜ ์–ด๋– ํ•œ ํด๋”๋ผ๋„ ํŒŒ์ผ์„ ๋‘˜ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ์กด๊ณผ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ์— ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํŽธ์ง‘๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์™ธ๋ถ€์˜ ๋ณ€ํ™”(์‚ญ์ œ, ํŽธ์ง‘) ๋“ฑ์˜ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์–ด๋– ํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋“  ์Šคํ† ๋ฆฌ์ง€ ๋งˆ์šดํŠธ๋Š” run ์ปค๋งจ๋“œ๋กœ ์‹คํ–‰ํ•œ๋‹ค.

๋ณผ๋ฅจ ๋งˆ์šดํŠธ์˜ ๊ฒฝ์šฐ, ์Šคํ† ๋ฆฌ์ง€ ์˜์—ญ์„ ์šฐ์„  ์ƒ์„ฑํ•œ๋‹ค.

# ๋ณผ๋ฅจ ์ƒ์„ฑ, ์‚ญ์ œ ๋ฐฉ๋ฒ•
docker volumne create {๋ณผ๋ฅจ์ด๋ฆ„}
docker volume rm {๋ณผ๋ฅจ์ด๋ฆ„}

# ์Šคํ† ๋ฆฌ์ง€, ๋ณผ๋ฅจ ๋งˆ์šดํŠธ ๋ฐฉ๋ฒ•
docker run ... -v ์Šคํ† ๋ฆฌ์ง€_์‹ค์ œ_๊ฒฝ๋กœ:์ปจํ…Œ์ด๋„ˆ_๋งˆ์šดํŠธ_๊ฒฝ๋กœ ...
docker run ... -v ๋ณผ๋ฅจ_์ด๋ฆ„:์ปจํ…Œ์ด๋„ˆ_๋งˆ์šดํŠธ_๊ฒฝ๋กœ ...

# ์•„ํŒŒ์น˜ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์˜ˆ์ œ (๋กœ์ปฌ๊ฒฝ๋กœ๋Š” e:\docker_volume์œผ๋กœ ์ง€์ •)
docker run --name apa000ex20 -d -p 8090:80 -v {e:\docker_volume}:/usr/local/apache2/htdocs httpd

# --------------------

# ๋ณผ๋ฅจ ๋งˆ์šดํŠธํ•ด๋ณด๊ธฐ
docker volume create apa000vol1

# ์•„ํŒŒ์น˜ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker run --name apa000ex21 -d -p 8091:90 -v apa000vol1:/usr/local/apache2/htdocs httpd

# volume Inspect ์ปค๋งจ๋“œ๋กœ ๋ณผ๋ฅจ ์ƒ์„ธ ์ •๋ณด ํ™•์ธ
docker volume inspect apa000vol1

# ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋จ
[
    {
        "CreatedAt": "2022-12-11T22:13:04Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/apa000vol1/_data",
        "Name": "apa000vol1",
        "Options": {},
        "Scope": "local"
    }
]

# ์ปจํ…Œ์ด๋„ˆ Insepct ๋ช…๋ น์–ด
docker container inspect apa000ex21

# ๋„์ปค ๋ณผ๋ฅจ ์‚ญ์ œ
docker volume rm apa000vol1

ํƒœ๊ทธ

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ

๋Œ“๊ธ€ ์˜์—ญ