Day-23 π³ 3κ³μΈ΅ MERN μ± Dockerizing λ° ITSM λꡬ νꡬ
Source: Dev.to

μ€λμ λ΄ 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 λ°μ΄λ리λ₯Ό μ€νν μ μμλ€.
ν΄κ²° λ°©λ²
node_modulesμ.gitμ λͺ μμ μΌλ‘ μ μΈνλλ‘.dockerignoreνμΌμ μμ±- μμλ μ΄λ―Έμ§λ₯Ό μμ
--no-cacheνλκ·Έλ₯Ό μ¬μ©ν΄ μμ ν μλ‘μ΄ μ΄λ―Έμ§λ‘ μ¬λΉλ
ꡬμ±μ μ λ°μ΄νΈν λ€, 컨ν μ΄λ κ° ν΅μ μ΄ μ μμ μΌλ‘ μ΄λ£¨μ΄μ‘λ€.
π’ μ½λ μΈ: ITSM λꡬ
λΉλκ° μ§νλλ λμ DevOpsμ βνλ‘μΈμ€β μΈ‘λ©΄μ λ°°μ°κΈ° μν΄ μκ°μ ν¬μνλ€. λ€μ λꡬλ€μ μ΄ν΄λ³΄μλ€:
- Jira & Confluence: μμ μΆμ λ° λ¬Έμν
- ServiceNow: μΈμλνΈ κ΄λ¦¬(μ₯μ λμ)μ λ³κ²½ κ΄λ¦¬(μμ ν μ λ°μ΄νΈ λ°°ν¬)
μ΄ λꡬλ€μ΄ CI/CD νμ΄νλΌμΈμ μ΄λ»κ² λ Ήμλλμ§ μ΄ν΄νλ κ²μ κΈ°μ νκ²½μμ μΌν λ νμμ μ΄λ€.
π λ€μμ?
Docker Compose λ₯Ό μ 볡νλ€. μ΄μ μμ°μ€λ¬μ΄ λ€μ λ¨κ³λ? κ·λͺ¨μ λ§λ μ€μΌμ€νΈλ μ΄μ μ΄λ€. λ΄μΌλΆν° Kubernetes(K8s)λ₯Ό νκ³ λ€ μμ μ΄λ€. μ€λ λ°°μ΄ νκ³Ό μλΉμ€κ° μ΄λ»κ² λ€λ₯Έμ§ κΈ°λλλ€.
LinkedIn: