Day-23 🐳 3계측 MERN μ•± Dockerizing 및 ITSM 도ꡬ 탐ꡬ

λ°œν–‰: (2026λ…„ 1μ›” 2일 μ˜€μ „ 12:56 GMT+9)
4 λΆ„ μ†Œμš”
원문: Dev.to

Source: Dev.to

Day-23 🐳 3계측 MERN μ•± Dockerν™” 및 ITSM 도ꡬ 탐ꡬλ₯Ό μœ„ν•œ ν‘œμ§€ 이미지

μ˜€λŠ˜μ€ λ‚΄ DevOps μ—¬μ •μ—μ„œ 큰 도약을 이룬 λ‚ μ΄μ—ˆλ‹€. μ»¨ν…Œμ΄λ„ˆλ₯Ό κ°œλ³„μ μœΌλ‘œ μ‹€ν–‰ν•˜λ˜ 방식을 버리고, 전체 3‑계측 MERN μ• ν”Œλ¦¬μΌ€μ΄μ…˜( MongoDB, Express/Node, React )을 Dockerν™”ν•˜λŠ” μž‘μ—…μ— λ„μ „ν–ˆλ‹€.

πŸ—οΈ ν”„λ‘œμ νŠΈ: 3‑계측 μ•„ν‚€ν…μ²˜

npm start λ₯Ό μ„Έ 개의 ν„°λ―Έλ„μ—μ„œ 각각 μ‹€ν–‰ν•˜λŠ” λŒ€μ‹ , 전체 μŠ€νƒμ„ μ»¨ν…Œμ΄λ„ˆν™”ν•˜κ³  μ‹Άμ—ˆλ‹€.

  • ν”„λ‘ νŠΈμ—”λ“œ: μ»¨ν…Œμ΄λ„ˆμ—μ„œ μ‹€ν–‰λ˜λŠ” React
  • λ°±μ—”λ“œ: Node.js/Express (API λ ˆμ΄μ–΄)
  • λ°μ΄ν„°λ² μ΄μŠ€: MongoDB (영ꡬ μ €μž₯μ†Œ)

πŸ™ Docker Compose 둜 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜

였늘의 μ§„μ§œ κ²Œμž„ μ²΄μΈμ €λŠ” Docker Compose μ‚¬μš©μ΄μ—ˆλ‹€. docker‑compose.yml νŒŒμΌμ„ μž‘μ„±ν•¨μœΌλ‘œμ¨ μ„Έ 개 μ»¨ν…Œμ΄λ„ˆμ˜ 라이프사이클을 ν•˜λ‚˜μ˜ νŒŒμΌμ— μ •μ˜ν•  수 μžˆμ—ˆλ‹€.

  • ν΄λΌμ΄μ–ΈνŠΈ, μ„œλ²„, λ°μ΄ν„°λ² μ΄μŠ€ 각각에 λŒ€ν•œ μ„œλΉ„μŠ€ μ •μ˜
  • μ„œλΉ„μŠ€ 이름을 호슀트λͺ…μœΌλ‘œ μ‚¬μš©ν•΄ μ„œλ‘œ 톡신할 수 μžˆλ„λ‘ λ„€νŠΈμ›Œν‚Ή μ„€μ •
  • 데이터 μ˜μ†μ„±μ„ μœ„ν•œ λ³Όλ₯¨ ꡬ성

이제 전체 ν™˜κ²½μ„ μ˜¬λ¦¬λŠ” λͺ…령은 단 ν•œ 쀄:

docker-compose up --build

πŸ› β€œGotcha” μˆœκ°„

μ½”λ”© μ—†λŠ” ν•˜λ£¨λŠ” μ—†κ² μ§€. 둜컬 ν™˜κ²½μ—μ„œλŠ” λͺ¨λ“  것이 μ™„λ²½νžˆ λ™μž‘ν–ˆμ§€λ§Œ, μ»¨ν…Œμ΄λ„ˆλ₯Ό 올리자마자 λ°”μ΄λ„ˆλ¦¬ ν˜Έν™˜μ„± 였λ₯˜κ°€ λ°œμƒν–ˆλ‹€.

λ¬Έμ œλŠ” COPY . . λͺ…령이 둜컬 Windows 기반 node_modules λ₯Ό Linux μ»¨ν…Œμ΄λ„ˆ μ•ˆμœΌλ‘œ 볡사해버린 κ²ƒμ΄μ—ˆλ‹€. esbuild λ“± 일뢀 λ°”μ΄λ„ˆλ¦¬λŠ” OS에 쒅속적이기 λ•Œλ¬Έμ—, Linux μ»¨ν…Œμ΄λ„ˆλŠ” Windows λ°”μ΄λ„ˆλ¦¬λ₯Ό μ‹€ν–‰ν•  수 μ—†μ—ˆλ‹€.

ν•΄κ²° 방법

  1. node_modules 와 .git 을 λͺ…μ‹œμ μœΌλ‘œ μ œμ™Έν•˜λ„λ‘ .dockerignore νŒŒμΌμ„ 생성
  2. μ†μƒλœ 이미지λ₯Ό μ‚­μ œ
  3. --no-cache ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•΄ μ™„μ „νžˆ μƒˆλ‘œμš΄ μ΄λ―Έμ§€λ‘œ μž¬λΉŒλ“œ

ꡬ성을 μ—…λ°μ΄νŠΈν•œ λ’€, μ»¨ν…Œμ΄λ„ˆ κ°„ 톡신이 μ •μƒμ μœΌλ‘œ μ΄λ£¨μ–΄μ‘Œλ‹€.

🏒 μ½”λ“œ μ™Έ: ITSM 도ꡬ

λΉŒλ“œκ°€ μ§„ν–‰λ˜λŠ” λ™μ•ˆ DevOps의 β€œν”„λ‘œμ„ΈμŠ€β€ 츑면을 배우기 μœ„ν•΄ μ‹œκ°„μ„ νˆ¬μžν–ˆλ‹€. λ‹€μŒ 도ꡬ듀을 μ‚΄νŽ΄λ³΄μ•˜λ‹€:

  • Jira & Confluence: μž‘μ—… 좔적 및 λ¬Έμ„œν™”
  • ServiceNow: μΈμ‹œλ˜νŠΈ 관리(μž₯μ•  λŒ€μ‘)와 λ³€κ²½ 관리(μ•ˆμ „ν•œ μ—…λ°μ΄νŠΈ 배포)

이 도ꡬ듀이 CI/CD νŒŒμ΄ν”„λΌμΈμ— μ–΄λ–»κ²Œ λ…Ήμ•„λ“œλŠ”μ§€ μ΄ν•΄ν•˜λŠ” 것은 κΈ°μ—… ν™˜κ²½μ—μ„œ 일할 λ•Œ ν•„μˆ˜μ μ΄λ‹€.

πŸš€ λ‹€μŒμ€?

Docker Compose λ₯Ό μ •λ³΅ν–ˆλ‹€. 이제 μžμ—°μŠ€λŸ¬μš΄ λ‹€μŒ λ‹¨κ³„λŠ”? 규λͺ¨μ— λ§žλŠ” μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜μ΄λ‹€. 내일뢀터 Kubernetes(K8s)λ₯Ό νŒŒκ³ λ“€ μ˜ˆμ •μ΄λ‹€. 였늘 배운 팟과 μ„œλΉ„μŠ€κ°€ μ–΄λ–»κ²Œ λ‹€λ₯Έμ§€ κΈ°λŒ€λœλ‹€.

LinkedIn:

Back to Blog

κ΄€λ ¨ κΈ€

더 보기 Β»

Zapier vs. Custom Code: β€˜Glue’ νˆ΄μ„ μ–Έμ œ μ‚¬μš©ν•΄μ•Ό ν• κΉŒ

μ €λŠ” μžλ™ν™” μ—μ΄μ „μ‹œλ₯Ό μš΄μ˜ν•©λ‹ˆλ‹€. 제 μ—…λ¬΄μ˜ μ ˆλ°˜μ€ μ–½νžŒ Zapier ν˜Όλž€μ„ μ œκ±°ν•˜κ³  κΉ¨λ—ν•œ μ½”λ“œλ‘œ κ΅μ²΄ν•˜λŠ” μΌμž…λ‹ˆλ‹€. λ‚˜λ¨Έμ§€ μ ˆλ°˜μ€? μ°½μ—…μžλ“€μ—κ²Œ β€œμ•„λ‹ˆμš”, 당신은 …” 라고 λ§ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

Mendex: λ‚΄κ°€ λ§Œλ“œλŠ” 이유

μ†Œκ°œ μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„. μ˜€λŠ˜μ€ μ œκ°€ λˆ„κ΅¬μΈμ§€, 무엇을 λ§Œλ“€κ³  μžˆλŠ”μ§€, 그리고 κ·Έ 이유λ₯Ό κ³΅μœ ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 초기 κ²½λ ₯κ³Ό λ²ˆμ•„μ›ƒ μ €λŠ” κ°œλ°œμžλ‘œμ„œ 17λ…„ λ™μ•ˆ κ²½λ ₯을 μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.