MapleStory Finger Point

โšช DevOps/๐Ÿ”ต Docker

[Docker] Compose

HYEJU01 2025. 4. 5. 03:11
 

๋ชฉ์ฐจ

 

     

     

     

    ๐Ÿ”Compose  ๋ž€? 

    ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ์ •์˜ํ•˜๊ณ 

    ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํˆด

     

    • ์—ฌ๋Ÿฌ๊ฐœ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ์— ๋„์›€์คŒ
    • ๋ณต์žกํ•œ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰์‹œํ‚ค๋˜ ๊ฑธ ๊ฐ„์†Œํ™” ์‹œํ‚จ๋‹ค.

     

    Compose ์ƒ์„ฑ  

     

     

    โœ…ํŒŒ์ผ๋ช…์€ `compose.yml` ์œผ๋กœ ์ƒ์„ฑ

     

     

     

     

    โœ…  ` docker run --name webserver -d -p 80:80 nginx `

    ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์•„๋ž˜ yml ํŒŒ์ผ๋กœ ์ž‘์„ฑ ํ•œ ๊ฒƒ

    •  yml ์€ ๋“ค์—ฌ์“ฐ๊ธฐ๋กœ ๊ณ„์ธต์„ ๋‚˜๋ˆ„๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜

     


     

    Compose ์‹คํ–‰

     

     

    โœ…` docker compose up ` ์„ ํ•˜๋ฉด nginx ๊ฐ€ ์‹คํ–‰๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

    ์ฆ‰, ๊ฐ„ํŽธํ•˜๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅ!

    ํฌ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰์ด๊ธฐ ๋•Œ๋ฌธ์— (์ž‘์—…๋ถˆ๊ฐ€ ctrl + c ํƒˆ์ถœ)

     

     

     

    โœ… ` docker compose up `  ๋’ค์— -d ๋ฅผ ๋ถ™์ด๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰

     

     


     

    Compose ์ข…๋ฃŒ

     

     

    โœ… ์ปดํฌ์ฆˆ๋กœ ์‹คํ–‰๋œ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ `docker compose down` 

    ํ•˜๋‚˜ํ•˜๋‚˜ ์•„์ด๋””๋ฅผ ์ฐพ์•„์„œ ์ข…๋ฃŒํ–ˆ์–ด์•ผํ–ˆ๋Š”๋ฐ ์‰ฝ๊ฒŒ ์ข…๋ฃŒ ๊ฐ€๋Šฅํ•ด์ง

     

     

     


     

    Compose ์กฐํšŒ

     

    โœ… `docker compose ps`

    `docker ps` ์—ฌ๋Ÿฌ๊ฐœ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰๋œ๊ฑธ ๋‹ค ๋„์šฐ๋Š” ๋ฐ˜๋ฉด์—

    compose.yml ์— ์ •์˜๋œ ์ปจํ…Œ์ด๋„ˆ ์ค‘ "์‹คํ–‰ ์ค‘" ์ปจํ…Œ์ด๋„ˆ๋งŒ ๋”ฐ๋กœ ๋„์›Œ์คŒ 

     

     

    โœ… `docker compose ps -a` (๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ  )

     

     

    โœ…  `docker compose logs`

    compose.yml ์— ์ •์˜๋œ ์ปจํ…Œ์ด๋„ˆ ์ค‘ 

    ์—ฌ๋Ÿฌ๊ฐœ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋กœ๊ทธ๋ฅผ ์ข…ํ•ฉํ•ด์„œ ๋ณด์—ฌ์คŒ

     


     

    Compose  ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์„œ ๋‹ค์‹œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰

     

    โœ… `docker compose up --build`

    ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์„œ ๋‹ค์‹œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œ์ผœ์•ผํ• ๋•Œ

     

     


     

    Compose  ์ด๋ฏธ์ง€ ๋‹ค์šด / ์ตœ์‹  ์—…๋ฐ์ดํŠธ

     

     

    โœ… docker compose pull

     

    ์‹คํ–‰์‹œํ‚ฌ๋•Œ.. nginx ๊ฐ€ ์—†์œผ๋ฉด ๋‹ค์šด , ์—†์œผ๋ฉด ๋กœ์ปฌ์— ์žˆ๋Š” nginx ์‚ฌ์šฉ (์—…๋ฐ์ดํŠธ ๋˜์—ˆ์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ...

    ์ด๋•Œ compose pull ์„ ํ•˜๋ฉด  compose.yml ์— ์ •์˜๋œ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด or ์ตœ์‹  ์—…๋ฐ์ดํŠธ ์‹œ์ผœ

     


     

     

     

     CLI ↔ yml๋ณ€ํ™˜

     

    ์ง€๊ธˆ๊นŒ์ง€์˜ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด Docker CLI๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋Š” ์ „๋ถ€ compose.yml ํŒŒ์ผ๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ compose.yml์— ์ž‘์„ฑํ•œ ๋ชจ๋“  ๊ฐ’์€ Docker CLI๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํŽธํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

     

    โœ… Docker CLI → compose.yml๋กœ ๋ณ€ํ™˜

    Composerize

     

    โœ… compose.yml → Docker CLI๋กœ ๋ณ€ํ™˜

    Decomposerize