728x90
๋ฐ˜์‘ํ˜•

Chapter 7 - ๋„์ปค ์ปดํฌ์ฆˆ๋ฅผ ์ตํžˆ์ž

SECTION 01 ๋„์ปค ์ปดํฌ์ฆˆ๋ž€?

  • ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์–ด๋ฅผ ํ•˜๋‚˜์˜ YAML ํŒŒ์ผ์— ๊ธฐ์žฌํ•ด ๋ช…๋ น์–ด ํ•œ๋ฒˆ์— ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ข…๋ฃŒ์™€ ํ๊ธฐ๊นŒ์ง€ ํ•œ๋ฒˆ์— ํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ๋„๊ตฌ

up ์ปค๋งจ๋“œ

  • docker-compose up ์ปค๋งจ๋“œ๋Š” docker run ์ปค๋งจ๋“œ์™€ ๋น„์Šทํ•จ.
  • yml ํŒŒ์ผ์— ๊ธฐ์žฌ๋œ ๋‚ด์šฉ๋Œ€๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›๊ณ , ์ปจํ…Œ์ด๋ฅผ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰.

down ์ปค๋งจ๋“œ

  • ์ปจํ…Œ์ด๋„ˆ์™€ ๋„คํŠธ์›Œํฌ๋ฅผ ์ •์ง€ ๋ฐ ์‚ญ์ œ.
  • ๋ณผ๋ฅจ๊ณผ ์ด๋ฏธ์ง€๋Š” ์‚ญ์ œ๋˜์ง€ ์•Š์Œ.
  • ์ปจํ…Œ์ด๋„ˆ์™€ ๋„คํŠธ์›Œํฌ ์‚ญ์ œ ์—†์ด ์ข…๋ฃŒ๋งŒ ํ•˜๊ณ ์‹ถ๋‹ค๋ฉด stop ์ปค๋งจ๋“œ ์‚ฌ์šฉ.

Dockerfile ๊ณผ docker-compose ์ฐจ์ด์ 

  • ๋„์ปค ์ปดํฌ์ฆˆ๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ ์ฃผ๋ณ€ ํ™˜๊ฒฝ (๋„คํŠธ์›Œํฌ, ๋ณผ๋ฅจ) ์„ ํ•จ๊ป˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • Dockerfile ์Šคํฌ๋ฆฝํŠธ๋Š” ์˜ค์ง ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ, ๋„คํŠธ์›Œํฌ๋‚˜ ๋ณผ๋ฅจ์€ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค.

SECTION 02 ๋„์ปค ์ปดํฌ์ฆˆ์˜ ์„ค์น˜์™€ ์‚ฌ์šฉ๋ฒ•

  • ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ ์ด๋ฆ„์€ docker-compose.yml ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
    • -f ์˜ต์…˜์„ ์ด์šฉํ•ด์„œ ํŒŒ์ผ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ex) docker-compose-dev.yml, docker-compose-prod.yml
  • ์ •์˜ ํŒŒ์ผ์€ ํ•œ ํด๋”์— ํ•˜๋‚˜๋งŒ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ •์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ ๊ฐœ์ˆ˜๋งŒํผ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.
# docker-compopse V1
$ sudo pip3 install docker-compose

# docekr compose V2
$ sudo apt-get install docker-compose-plugin

docker-compose ์™€ docker compose ์ฐจ์ด์ 

  • docker-compose ์˜ ๊ฒฝ์šฐ Python ์œผ๋กœ ๊ฐœ๋ฐœ๋œ V1 ๋ฒ„์ „.
  • docker compose ์˜ ๊ฒฝ์šฐ Go lang ์œผ๋กœ ๊ฐœ๋ฐœ๋œ V2 ๋ฒ„์ „.
  • docker-compose ์˜ ๊ฒฝ์šฐ 23๋…„ 6์›” ๋ถ€๋กœ ์ง€์› ๋งŒ๋ฃŒ๋จ.
  • docker compose ๋ฐฉ์‹์—์„œ๋Š” ๊ธฐ์กด์˜ ๋ฐฉ์‹๊ณผ ์ƒ์ดํ•œ ๋ถ€๋ถ„์ด ์กด์žฌํ•จ. ์ž˜ ์ฐพ์•„๋ณผ ๊ฒƒ

SECTION 03 ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฒ•

  • ์ฒซ ์ค„์— ๋„์ปค ์ปดํฌ์ฆˆ ๋ฒ„์ „์„ ๊ธฐ์žฌ
  • ์ฃผ ํ•ญ๋ชฉ services. networks, volumes ์•„๋ž˜์— ์„ค์ • ๋‚ด์šฉ์„ ๊ธฐ์žฌ
  • YAML ์ž‘์„ฑ ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•œ๋‹ค.

์ฃผ ํ•ญ๋ชฉ

ํ•ญ๋ชฉ ๋‚ด์šฉ

services ์ปจํ…Œ์ด๋„ˆ ์ •์˜
networks ๋„คํŠธ์›Œํฌ ์ •์˜
volumes ๋ณผ๋ฅจ์„ ์ •์˜

์ž์ฃผ ๋‚˜์˜ค๋Š” ์ •์˜ ๋‚ด์šฉ

ํ•ญ๋ชฉ ์˜ต์…˜ ๋‚ด์šฉ

version - ๋„์ปค ์ปดํฌ์ฆˆ์˜ ๋ฒ„์ „์„ ๊ธฐ์žฌํ•œ๋‹ค.
services - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ •์˜ํ•œ๋‹ค. (์ปจํ…Œ์ด๋„ˆ์˜ ์ง‘ํ•ฉ์ฒด๋ฅผ ์ฃผ๋กœ ์„œ๋น„์Šค๋ผ๊ณ  ํ•œ๋‹ค.)
image ์ด๋ฏธ์ง€ ์ธ์ž ์‚ฌ์šฉํ•  ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •
networks โ€”net ์ ‘์†ํ•  ๋„คํŠธ์›Œํฌ๋ฅผ ์ง€์ •
volumes -v, โ€”mount ์Šคํ† ๋ฆฌ์ง€ ๋งˆ์šดํŠธ(๋ณผ๋ฅจ)๋ฅผ ์„ค์ •
ports -p ํฌํŠธ ์„ค์ •
environment -e ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •
depends_on ์—†์Œ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์˜์กด๊ด€๊ณ„๋ฅผ ์ •์˜
restart ์—†์Œ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์‹œ ์žฌ์‹œ์ž‘ ์—ฌ๋ถ€๋ฅผ ์„ค์ •

SECTION 04 ๋„์ปค ์ปดํฌ์ฆˆ ์‹คํ–‰

$ docker-compose -f [DOCKER_COMPOSE_PATH] up [OPTIONS]
$ docker-compose -f [DOCKER_COMPOSE_PATH] down [OPTIONS]

wordpress docker-compose.yml

version: "3"
services:
  maria000ex17:
    image: mariadb
    networks:
      - wordpress000net4
    volumes:
      - maria000vol17:/var/lib/mysql
    restart: always
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --defaultauthentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: myrootpass
      MYSQL_DATABASE: wordpress000db
      MYSQL_USER: wordpress000kun
      MYSQL_PASSWORD: wkunpass
  wordpress000ex18:
    depends_on:
      - maria000ex17
    image: wordpress
    networks:
      - wordpress000net4
    volumes:
      - wordpress000vol18:/var/www/html
    ports:
      - 8088:80
    restart: always
    environment:
      WORDPRESS_DB_HOST: maria000ex17
      WORDPRESS_DB_NAME: wordpress000db
      WORDPRESS_DB_USER: wordpress000kun
      WORDPRESS_DB_PASSWORD: wkunpass
networks:
  wordpress000net4:
volumes:
  maria000vol17:
  wordpress000vol18:
728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š ์ฑ… > ๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ›„๊ธฐ  (5) 2024.10.28
๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Chapter 8 - ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ž€?  (3) 2024.10.27
๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Chapter 6 - ์‹ค์ „์— ํ™œ์šฉ ๊ฐ€๋Šฅํ•œ ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ์ž  (2) 2024.10.02
๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Chapter 5 - ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฐ๋™ํ•ด ์‹คํ–‰ํ•ด๋ณด์ž  (7) 2024.09.25
๊ทธ๋ฆผ๊ณผ ์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„์ปค & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Chapter 4 - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด์ž  (0) 2024.09.23
MyeongDev