๐ŸณDocker ๋‹ค๋ฃจ๊ธฐ8: Docker Compose

Aprilยท2022๋…„ 11์›” 4์ผ
0

๐ŸŒฑserver

๋ชฉ๋ก ๋ณด๊ธฐ
16/18

Docker Compose ๋ž€?

  • ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ชจ์•„์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํˆด
  • ์›น์„œ๋น„์Šค๋Š” ํ”„๋ก ํŠธ์—”๋“œ์„œ๋ฒ„, db, ๋ฐฑ์—”๋“œ์„œ๋ฒ„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ
    • ๊ฐ๊ฐ์„ docker ์ปจํ…Œ์ด๋„ˆ๋กœ ์ž‘์„ฑํ•˜๊ณ , ์—ฐ๊ฒฐํ•ด์„œ ๋™์ž‘์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
      Docker Compose ๊ฐ™์€ ํˆด์ด ํ•„์š”ํ•จ

Docker Compose ์ž‘์„ฑ ๊ธฐ๋ณธ

  • docker-compose.yml ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰
  • docker-compose.yml์€ YAML(์•ผ๋ฉœ)ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ
    • YAML์€ key์™€ value, ๊ทธ๋ฆฌ๊ณ  ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•˜๋Š” ๋ฌธ๋ฒ•

๊ธฐ๋ณธ ๋ฌธ๋ฒ•

  • #: ์ฃผ์„
  • ---: ๋ฌธ์„œ์˜ ์‹œ์ž‘์„ ๋‚˜ํƒ€๋ƒ„(์˜ต์…˜)
  • ...: ๋ฌธ์„œ์˜ ๋์„ ๋‚˜ํƒ€๋ƒ„(์˜ต์…˜)
  • key:valeu: key์— ๋Œ€ํ•œ ๊ฐ’(value)
  • ์ž๋ฃŒํ˜•
    • int, string, boolean ์ง€์›

https://onlineyamltools.com/convert-yaml-to-json


Docker Compose ์ž‘์„ฑํ•˜๊ธฐ

docker-compose.yml๋กœ ์ดํ•ดํ•˜๋Š” Docker Compose ์‚ฌ์šฉ๋ฒ•1

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ 4๊ฐ€์ง€์˜ ํฐ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ž‘์„ฑ.
# Docker Compose ํŒŒ์ผ ํฌ๋งท ๋ฒ„์ „ ์ง€์ •
version: 

# ์ปจํ…Œ์ด๋„ˆ ์„ค์ •
services:

# ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” volume ์„ค์ •์œผ๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅ(์˜ต์…˜)
volume:

# ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ๋„คํŠธ์›Œํฌ ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ์„ค์ • ๋ถ€๋ถ„(์˜ต์…˜)
networks:

  • ์ž‘์—…ํด๋”์— docker-compose.yml ํŒŒ์ผ๋กœ ์ž‘์„ฑ
# Docker Compose ํŒŒ์ผ ํฌ๋งท ๋ฒ„์ „ ์ง€์ •
version: "3"

# ์ปจํ…Œ์ด๋„ˆ ์„ค์ •
services:
  db:
    image: mysql:5.7
    restart: always
    volumes:
      - ./mysqldata:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=april
      - MYSQL_DATABASES=mydb
    ports:
      - "3306:3306"

Docker Compose ์‹คํ–‰/์ค‘์ง€ ํ•˜๊ธฐ

docker-compose ๋ช…๋ น์–ด๋Š” ํ•ด๋‹น ํด๋”์— ์žˆ๋Š” docker-compose.yml ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์—ฌ ์‹คํ–‰/์ค‘์ง€/์‚ญ์ œ ํ•จ


docker-compose up ์‹คํ–‰

๋ณดํ†ต ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ž‘์„ฑ/๊ด€๋ฆฌ

vi docker-compose.yml
docker-compose up -d

// ์ด๋ฏธ์ง€ ์žฌ๋นŒ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋ฉด --build ์˜ต์…˜ ์ถ”๊ฐ€
// ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด๋ฏธ ์ž‘์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋จ
docker-compose up --build -d

docker-compose stop ์ค‘์ง€

docker-compose stop

docker-compose down ์‚ญ์ œ

docker-compose down


profile
๐Ÿš€ ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์“ฐ๋Š” ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€