๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[Docker] ๋„์ปค Compose ์‹ค์Šตํ•ด๋ณด๊ธฐ ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ปดํ“จํ„ฐ ๊ตฌ์กฐ/About Computer

[Docker] ๋„์ปค Compose ์‹ค์Šตํ•ด๋ณด๊ธฐ

์ง•์ง•์•ŒํŒŒ์นด 2023. 3. 23. 14:40
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” ์—˜๋ฆฌ์Šค IoT 1๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-)>

 

๐Ÿ‹ Docker Compose

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ๋ถ€ํ„ฐ ์ด๋ฃจ์–ด์ง„ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•, ์‹คํ–‰ํ•˜๋Š” ์ˆœ์„œ๋ฅผ ์ž๋™์œผ๋กœ ํ•˜์—ฌ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ ์„ค์ • ๋‚ด์šฉ์„ ํ•˜๋‚˜์˜ yaml ํŒŒ์ผ์— ๋ชจ์•„์„œ ์‚ฌ์šฉ

 

๐Ÿ™ Dockerfile ํŒŒ์ผ

FROM node:18-alpine

WORKDIR /app

RUN npm init -y
RUN npm install express

ADD app.js /app

CMD ["node", "app.js"]

- EXPOSE

ํ˜ธ์ŠคํŠธ OS์— ํฌํŠธ๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š๊ณ , ์ปจํ…Œ์ด๋„ˆ์—์„œ๋งŒ ํฌํŠธ๋ฅผ ๊ณต๊ฐœ

- ADD

ํŒŒ์ผ์„ ์ด๋ฏธ์ง€์— ์ถ”๊ฐ€

- CMD

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์„ ๋•Œ ์Šคํฌ๋ฆฝํŠธ ํ˜น์€ ๋ช…๋ น์„ ์‹คํ–‰

 

๐Ÿ™ ๋ช…๋ น์–ด

docker compose up

์ •์˜ ํŒŒ์ผ์— ๊ธฐ์žฌ๋œ ๋‚ด์šฉ๋Œ€๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰

์ •์˜ ํŒŒ์ผ์—๋Š” ๋„คํŠธ์›Œํฌ๋‚˜ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์ •์˜๋„ ๊ธฐ์žฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์„ ํ•œ๊บผ๋ฒˆ์— ์ƒ์„ฑ ๊ฐ€๋Šฅํ•จ

docker compose down

์ปจํ…Œ์ด๋„ˆ์™€ ๋„คํŠธ์›Œํฌ๋ฅผ ์ •์ง€ ๋ฐ ์‚ญ์ œ

๋ณผ๋ฅจ๊ณผ ์ด๋ฏธ์ง€๋Š” ์‚ญ์ œํ•˜์ง€ ์•Š์Œ

 

๐Ÿ‹ Docker Compose ์‹ค์Šต 

https://github.com/docker/awesome-compose

git clone https://github.com/docker/awesome-compose

 

๐Ÿ™ awesome-compose ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ

cd awesome-compose

๐Ÿ™ ์‹คํ–‰ํ•˜๊ธฐ

docker-compose up

localhost:3000 ์ ‘์† ใ„ฑใ„ฑ

๐Ÿ™ compose.yaml

services:
  frontend:
    build:
      context: frontend
      target: development
    ports:
      - 3000:3000
    stdin_open: true
    volumes:
      - ./frontend:/usr/src/app
      - /usr/src/app/node_modules
    restart: always
    networks:
      - react-express
    depends_on:
      - backend

  backend:
    restart: always
    build:
      context: backend
      target: development
    volumes:
      - ./backend:/usr/src/app
      - /usr/src/app/node_modules
    depends_on:
      - mongo
    networks:
      - express-mongo
      - react-express
    expose: 
      - 3000
  mongo:
    restart: always
    image: mongo:4.2.0
    volumes:
      - ./data:/data/db
    networks:
      - express-mongo
    expose:
      - 27017
networks:
  react-express:
  express-mongo:

๐Ÿ™ ์ข…๋ฃŒํ•˜๊ธฐ

docker compose down

728x90
๋ฐ˜์‘ํ˜•
Comments