A A
[Docker] Docker Container ์‹คํ–‰ํ•˜๊ธฐ: ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

Docker๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

Docker๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜์—ฌ ์ผ๊ด€๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•œ ํ›„, ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ณผ์ •์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

 

์ด ๊ธ€์—์„œ๋Š” docker container run ๋ช…๋ น์–ด์™€ ๊ด€๋ จ๋œ ์ฃผ์š” ์˜ต์…˜๋“ค์„ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ , ์‹ค์ œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์‹ค์Šตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

docker container

 

docs.docker.com


Docker Container ์‹คํ–‰ํ•˜๊ธฐ

Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•œ ํ›„, ์ด์ œ ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ๋Š” ์ด๋ฏธ์ง€์˜ ์‹คํ–‰ ์ธ์Šคํ„ด์Šค์ด๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹ค์ œ๋กœ ๊ตฌ๋™ํ•˜๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜ ์„ค๋ช…

 

docker container run ๋ช…๋ น์–ด๋Š” Docker ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ์˜ต์…˜๋“ค์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ต์…˜ ์„ค๋ช… ์‚ฌ์šฉ๋ฒ• ์˜ˆ์‹œ ๋ฐ ์ฃผ์˜์‚ฌํ•ญ
--name ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. --name [์ปจํ…Œ์ด๋„ˆ๋ช…] - ์˜ˆ์‹œ: --name mbti- ์ฃผ์˜์‚ฌํ•ญ: ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด Docker๊ฐ€ ์ž๋™์œผ๋กœ ๋žœ๋ค ์ด๋ฆ„์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
-e ๋˜๋Š” --env ์ปจํ…Œ์ด๋„ˆ์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. -e [๋ณ€์ˆ˜๋ช…]=[๊ฐ’] - ์˜ˆ์‹œ: -e PORT=3000- ์šฉ๋„: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.- ์ถ”๊ฐ€: --env-file ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
--env-file ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. --env-file [ํŒŒ์ผ ๊ฒฝ๋กœ] - ์˜ˆ์‹œ: --env-file .docker.env- ์šฉ๋„: ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๋กœ๋“œํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
--rm ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. --rm - ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ํ›„ ์ข…๋ฃŒ ์‹œ, ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
-d ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. -d - ์„ค๋ช…: ํ„ฐ๋ฏธ๋„์„ ๋‹ค๋ฅธ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์˜ˆ์ œ

์ด์ œ ์œ„์—์„œ ์„ค๋ช…ํ•œ ์˜ต์…˜๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ์‹ค์ œ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์•„๋ž˜๋Š” docker container run ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.
docker container run \
  --name mbti \
  -e PORT=3000 \
  --rm \
  -d \
  daehyunbigbread/mbti:embedded-db

b5c33cca7b0f895c4e3e1cce9e2ef7bc0c3059231b6c6a3fce0accf8f0a1b206

Docker Desktop์œผ๋กœ ๋ณด๋ฉด ๋กœ์ปฌ์—์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋œ๊ฑธ ์•Œ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ์„ค๋ช…

  • --name mbti:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„์„ mbti๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ํšจ๊ณผ: ๋‚˜์ค‘์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • -e PORT=3000:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ PORT ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ 3000์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ํšจ๊ณผ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด 3000 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
  • --rm:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
    • ํšจ๊ณผ: ๋ถˆํ•„์š”ํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์Šคํ…œ์— ๋‚จ์ง€ ์•Š์•„ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • -d:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ํšจ๊ณผ: ํ„ฐ๋ฏธ๋„์„ ๋‹ค๋ฅธ ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • daehyunbigbread/mbti:embedded-db:
    • ์„ค๋ช…: ์‹คํ–‰ํ•  Docker ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.
    • ํšจ๊ณผ: ์ง€์ •๋œ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ

๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, Docker๋Š” ์ง€์ •๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉด, ์ปจํ…Œ์ด๋„ˆ ID๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

b5c33cca7b0f895c4e3e1cce9e2ef7bc0c3059231b6c6a3fce0accf8f0a1b206

Container ํ™•์ธ ๋ฐ ๊ด€๋ฆฌ

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•œ ํ›„, ์ด๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
Docker๋Š” ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ํ™•์ธ

์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด docker container ls ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

docker container ls

์˜ˆ์‹œ ์ถœ๋ ฅ

CONTAINER ID   IMAGE                              COMMAND           CREATED          STATUS          PORTS     NAMES
b5c33cca7b0f   daehyunbigbread/mbti:embedded-db   "npm run start"   12 minutes ago   Up 12 minutes             mbti
  • CONTAINER ID: ์ปจํ…Œ์ด๋„ˆ์˜ ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.
  • IMAGE: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ธฐ๋ฐ˜ํ•œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.
  • COMMAND: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
  • CREATED: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒ์„ฑ๋œ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.
  • STATUS: ์ปจํ…Œ์ด๋„ˆ์˜ ํ˜„์žฌ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • PORTS: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋…ธ์ถœํ•œ ํฌํŠธ์ž…๋‹ˆ๋‹ค.
  • NAMES: ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ

์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ํŒŒ์ผ์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” docker container exec ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด ๋ช…๋ น์–ด๋Š” ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ํ˜•์‹

docker container exec [์˜ต์…˜] [์ปจํ…Œ์ด๋„ˆ๋ช…] [์‹คํ–‰ํ•  ๋ช…๋ น์–ด]

์˜ˆ์ œ: /app ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์ผ ๋ชฉ๋ก ํ™•์ธ

docker container exec mbti ls /app

์˜ˆ์‹œ ์ถœ๋ ฅ

Dockerfile
next-env.d.ts
next.config.mjs
node_modules
package-lock.json
package.json
public
src
tsconfig.json
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ /app ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์— ํ„ฐ๋ฏธ๋„ ์ ‘์†ํ•˜๊ธฐ

์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” docker container exec -it ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด ๋ช…๋ น์–ด๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ํ„ฐ๋ฏธ๋„์„ ์—ฐ๊ฒฐํ•ด์ค๋‹ˆ๋‹ค.

์˜ต์…˜ ์„ค๋ช…

  • -i: ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•˜์—ฌ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ์ปจํ…Œ์ด๋„ˆ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • -t: TTY๋ฅผ ํ• ๋‹นํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ์˜ˆ์ œ

docker container exec -it mbti bash

์‹คํ–‰ ๊ฒฐ๊ณผ

root@b5c33cca7b0f:/app# 
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— Bash ์…ธ์„ ์‹คํ–‰ํ•˜์—ฌ ์ง์ ‘ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ข…๋ฃŒ: ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ exit ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์…ธ์„ ์ข…๋ฃŒํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์„ ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ ํ™•์ธํ•˜๊ธฐ

์ปจํ…Œ์ด๋„ˆ์˜ ์‹คํ–‰ ๋กœ๊ทธ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•˜๋ ค๋ฉด docker container logs -f ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด ๋ช…๋ น์–ด๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ๋กœ๊ทธ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ํ˜•์‹

docker container logs -f [์ปจํ…Œ์ด๋„ˆ๋ช…]

์˜ˆ์ œ: mbti ์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ ํ™•์ธ

docker container logs -f mbti

์˜ˆ์‹œ ์ถœ๋ ฅ

> mbti-nextjs@0.1.0 start
> next start

  โ–ฒ Next.js 14.2.3
  - Local:        http://localhost:3000

 โœ“ Starting...
 โœ“ Ready in 244ms
| GET | /api/healthcheck | Tue Jan 07 2025 07:35:11 GMT+0000 (Coordinated Universal Time) |
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ์˜ ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ, ์š”์ฒญ ์ฒ˜๋ฆฌ ๋“ฑ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ์™€ ์š”์ฒญ ์ฒดํฌ

์ปจํ…Œ์ด๋„ˆ์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ๋กœ๊ทธ์— ๋ฐ˜์˜๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง
  2. docker container logs -f mbti
  3. ์š”์ฒญ ๋ณด๋‚ด๊ธฐ
    docker container exec mbti curl localhost:3000/api/healthcheck
    
  4. ์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์—ด๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋กœ๊ทธ ํ™•์ธ
    > mbti-nextjs@0.1.0 start
    > next start
    
      โ–ฒ Next.js 14.2.3
      - Local:        http://localhost:3000
    
  6. ๋กœ๊ทธ ์ฐฝ์—์„œ ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋œ ๋‚ด์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โœ“ Starting... โœ“ Ready in 244ms | GET | /api/healthcheck | Tue Jan 07 2025 07:35:11 GMT+0000 (Coordinated Universal Time) |

 

์š”์ฒญ ๊ฒฐ๊ณผ

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100  7428    0  7428    0     0  50815      0 --:--:-- --:--:-- --:--:-- 50876
  • ์„ค๋ช…: curl ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API ์—”๋“œํฌ์ธํŠธ์— ์š”์ฒญ์„ ๋ณด๋ƒˆ์œผ๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ์— ํ•ด๋‹น ์š”์ฒญ์ด ๊ธฐ๋ก๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ๋ช…๋ น์–ด

์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ข…๋ฃŒํ•˜๋ ค๋ฉด docker container stop ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ํ˜•์‹

docker container stop [์ปจํ…Œ์ด๋„ˆ๋ช…]

์˜ˆ์ œ: mbti ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ

docker container stop mbti

์‹คํ–‰ ๊ฒฐ๊ณผ

mbti
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉฐ, docker container ls ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋” ์ด์ƒ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
docker container ls

์˜ˆ์‹œ ์ถœ๋ ฅ

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก์— ๋” ์ด์ƒ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋งŒ ๋˜๊ณ  ์‚ญ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•˜์„ ๋•Œ?

--rm ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋”๋ผ๋„ ์‹œ์Šคํ…œ์— ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด docker container ls -a ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ์˜ˆ์ œ

docker container ls -a

์˜ˆ์‹œ ์ถœ๋ ฅ

CONTAINER ID   IMAGE                              COMMAND           CREATED          STATUS                     PORTS     NAMES
aaf9f623ea59   daehyunbigbread/mbti:embedded-db   "npm run start"   27 seconds ago   Exited (1) 3 seconds ago             mbti
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์ง€๋งŒ, ์‚ญ์ œ๋˜์ง€ ์•Š๊ณ  ๋‚จ์•„์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œํ•˜๊ธฐ

์ข…๋ฃŒ๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด docker container rm ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

docker container rm mbti

์‹คํ–‰ ๊ฒฐ๊ณผ

mbti
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์Šคํ…œ์—์„œ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ํ™•์ธ

docker container ls -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  • ์„ค๋ช…: mbti ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋” ์ด์ƒ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ผ๊ด„ ์‚ญ์ œํ•˜๊ธฐ

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ผ๊ด„์ ์œผ๋กœ ์‚ญ์ œํ•˜๋ ค๋ฉด docker container prune ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด ๋ช…๋ น์–ด๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ์˜ˆ์ œ

docker container prune

์‹คํ–‰ ๊ฒฐ๊ณผ

WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
  • ์„ค๋ช…: ๋ชจ๋“  ์ •์ง€๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ญ์ œ๋˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ y๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ™•์ธ์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
  • ์ฃผ์˜์‚ฌํ•ญ: -f ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ํ™•์ธ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ˆ˜๋กœ ์ค‘์š”ํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•˜์„ธ์š”.
docker container prune -f
  • ์„ค๋ช…: ํ™•์ธ ํ”„๋กฌํ”„ํŠธ ์—†์ด ๋ชจ๋“  ์ •์ง€๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

Example) Next.js ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ํ•˜๊ธฐ

์ด์ œ ์‹ค์ „ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์‹ค์Šตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ์—๋Š” Next.js ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Docker ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์Šต ์š”๊ฑด

๋‹ค์Œ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„: mbti
  2. ์ด๋ฏธ์ง€: [๊ณ„์ •๋ช…]/mbti:embedded-db
  3. ํ™˜๊ฒฝ ๋ณ€์ˆ˜:
    • PORT: 3000
  4. ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์‹œ ์ž๋™ ์‚ญ์ œ: --rm ์˜ต์…˜ ์‚ฌ์šฉ
  5. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰: -d ์˜ต์…˜ ์‚ฌ์šฉ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค ์ฝ”๋“œ ๋‹ค์šด๋กœ๋“œ

๋จผ์ €, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

mbti-mysql.zip
0.10MB

 

๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ mbti-mysql.zip ํŒŒ์ผ์„ ์••์ถ• ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

unzip mbti-mysql.zip -d mbti-mysql
cd mbti-mysql

Docker ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

์ด์ œ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

docker container run \
  --name mbti \
  -e PORT=3000 \
  --rm \
  -d \
  daehyunbigbread/mbti:embedded-db

๋ช…๋ น์–ด ์„ค๋ช…

  • --name mbti:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„์„ mbti๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • -e PORT=3000:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ PORT ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ 3000์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • --rm:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  • -d:
    • ์„ค๋ช…: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • daehyunbigbread/mbti:embedded-db:
    • ์„ค๋ช…: ์‹คํ–‰ํ•  Docker ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ

๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, Docker๋Š” ์ง€์ •๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉด, ์ปจํ…Œ์ด๋„ˆ ID๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
b5c33cca7b0f895c4e3e1cce9e2ef7bc0c3059231b6c6a3fce0accf8f0a1b206

์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ ํ™•์ธ

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
docker container logs -f mbti

์˜ˆ์‹œ ์ถœ๋ ฅ

> mbti-nextjs@0.1.0 start
> next start

  โ–ฒ Next.js 14.2.3
  - Local:        http://localhost:3000

 โœ“ Starting...
 โœ“ Ready in 279ms
| GET | /api/healthcheck | Tue Jan 07 2025 08:03:44 GMT+0000 (Coordinated Universal Time) |
  • ์„ค๋ช…: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋˜์—ˆ์œผ๋ฉฐ, http://localhost:3000์—์„œ ์‹คํ–‰ ์ค‘์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์ฒญ ๋ณด๋‚ด๊ธฐ ๋ฐ ๋กœ๊ทธ ํ™•์ธ

์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ๊ฐ€ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
docker container exec mbti curl localhost:3000/api/healthcheck

์‹คํ–‰ ๊ฒฐ๊ณผ

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7428    0  7428    0     0  50815      0 --:--:-- --:--:-- --:--:-- 50876
  • ์„ค๋ช…: curl ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API ์—”๋“œํฌ์ธํŠธ์— ์š”์ฒญ์„ ๋ณด๋ƒˆ์œผ๋ฉฐ, ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ ํ™•์ธ

๋กœ๊ทธ ์ฐฝ์„ ํ™•์ธํ•˜๋ฉด, ์š”์ฒญ์ด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
> mbti-nextjs@0.1.0 start
> next start

  โ–ฒ Next.js 14.2.3
  - Local:        http://localhost:3000

 โœ“ Starting...
 โœ“ Ready in 279ms
| GET | /api/healthcheck | Tue Jan 07 2025 08:03:44 GMT+0000 (Coordinated Universal Time) |
  • ์„ค๋ช…: /api/healthcheck ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ GET ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํŒ ๋ฐ ์ฃผ์˜์‚ฌํ•ญ

Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ํŒ๊ณผ ์ฃผ์˜์‚ฌํ•ญ์„ ์•Œ์•„๋‘๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ํƒœ๊ทธ ๊ด€๋ฆฌ

  • ๋ฒ„์ „ ํƒœ๊ทธ ์‚ฌ์šฉ: v1.0.0, v1.0.1 ๋“ฑ ๋ฒ„์ „๋ณ„๋กœ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ํŠน์ • ๋ฒ„์ „์„ ์‰ฝ๊ฒŒ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • latest ํƒœ๊ทธ ์ฃผ์˜: latest ํƒœ๊ทธ๋Š” ํ•ญ์ƒ ์ตœ์‹  ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฏ€๋กœ, ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ช…์‹œ์ ์ธ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๊ด€๋œ ํƒœ๊ทธ ์ „๋žต: ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ์ผ๊ด€๋œ ํƒœ๊ทธ ์ „๋žต์„ ์ˆ˜๋ฆฝํ•˜์—ฌ ๊ด€๋ฆฌ์˜ ํŽธ์˜์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์ž๋™ ์žฌ์‹œ์ž‘ ์„ค์ •

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ ์žฌ์‹œ์ž‘ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
docker container run \
  --name mbti \
  -e PORT=3000 \
  --rm \
  -d \
  --restart unless-stopped \
  daehyunbigbread/mbti:embedded-db
  • ์˜ต์…˜ ์„ค๋ช…:
    • --restart unless-stopped: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ค‘์ง€๋˜์ง€ ์•Š๋Š” ํ•œ, Docker๊ฐ€ ์ž๋™์œผ๋กœ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํฌํŠธ ๋งคํ•‘ ์„ค์ •

ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„์˜ ํฌํŠธ๋ฅผ ๋งคํ•‘ํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
docker container run \
  --name mbti \
  -e PORT=3000 \
  --rm \
  -d \
  -p 3000:3000 \
  daehyunbigbread/mbti:embedded-db
  • ์˜ต์…˜ ์„ค๋ช…:
    • -p [ํ˜ธ์ŠคํŠธ ํฌํŠธ]:[์ปจํ…Œ์ด๋„ˆ ํฌํŠธ]: ํ˜ธ์ŠคํŠธ์˜ 3000 ํฌํŠธ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ 3000 ํฌํŠธ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
  • ํšจ๊ณผ: ์™ธ๋ถ€์—์„œ http://localhost:3000์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ ํ™œ์šฉ

์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” --env-file ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ ์ƒ์„ฑ (.docker.env):
PORT=3000
DB_HOST=localhost
DB_PORT=3306
DB_NAME=db_mbti
DB_USERNAME=user_mbti
DB_PASSWORD=pw_mbti
  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์‹œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ ์ง€์ •:
docker container run \
--name mbti \
--env-file .docker.env \
--rm \
-d \
daehyunbigbread/mbti:embedded-db
  • ์žฅ์ : ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋ฉฐ, ์ฝ”๋“œ์™€ ํ™˜๊ฒฝ ์„ค์ •์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

docker container run ๋ช…๋ น์–ด์™€ ์ฃผ์š” ์˜ต์…˜๋“ค์„ ์ƒ์„ธํžˆ ์‚ดํŽด๋ณด๊ณ , ์‹ค์ œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ํŒ๊ณผ ์ฃผ์˜์‚ฌํ•ญ๋„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

Docker๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์ฐจ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด์‹์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ฐธ๊ณ  ์ž๋ฃŒ