ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toDevOps
์๋ฌธ ์ฝ๊ธฐ
ํ๊ฒฝ ์์กด์ฑ ์ ๊ฑฐ, Docker Compose๋ก ๊ตฌ์ถํ Full Stack ์๋ํ ํ์ดํ๋ผ์ธ
๐ณ My Docker Journey: From Zero to "It Works on My Machine" (For Real This Time ๐!)
AI ์์ฝ
Context
๊ฐ๋ฐ ํ๊ฒฝ๋ง๋ค ์์ดํ ์ข ์์ฑ์ผ๋ก ์ธํ "It works on my machine" ๋ฌธ์ ๋ฐ์. ๋ค์ค ์๋น์ค ๊ฐ์ ๋ณต์กํ ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋ฐ ์๋ ๋ฐฐํฌ ๊ณผ์ ์ ๋นํจ์จ์ฑ ์กด์ฌ.
Technical Solution
- Docker๋ฅผ ํ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ชจ๋ ์ข ์์ฑ์ ๋จ์ผ ์ปจํ ์ด๋๋ก ํจํค์งํ๋ ๊ฒฉ๋ฆฌ ํ๊ฒฝ ๊ตฌ์ถ
- MySQL, PHPMyAdmin, PostgreSQL, pgAdmin ๋ฑ ๋ค์ค ์๋น์ค๋ฅผ Docker Compose๋ก ์ ์ํ์ฌ ๋จ์ผ ๋ช ๋ น์ด๋ก ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๊ตฌ์กฐ
- Node.js, Nginx, MySQL ๊ธฐ๋ฐ์ 3-Tier ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ๊ณ ์ปจํ ์ด๋ ๋คํธ์ํฌ ๋ฐ ํ๊ฒฝ ๋ณ์๋ฅผ ํตํ ์๋น์ค ๊ฐ ํต์ ์ต์ ํ
- Java API, Go Web App, PostgreSQL์ด ํฌํจ๋ Full Stack ํ๊ฒฝ์ ๊ตฌ์ถํ๊ณ ์ํธ ๊ฐ์ ์ฌ๋ฆฌ์คํ ๋ฐ์ดํฐ ํ๋ฆ ๊ตฌํ
- git describe ๊ธฐ๋ฐ์ Semantic Versioning ์ ์ฉ ๋ฐ Docker Image ๋น๋, ํ๊น , Docker Hub ํธ์, ๋ฐฐํฌ๋ฅผ ์๋ํํ๋ Bash ์คํฌ๋ฆฝํธ ์ค๊ณ
Key Takeaway
์ธํ๋ผ๋ฅผ ์ฝ๋ํ(IaC)ํ์ฌ ํ๊ฒฝ ์ผ๊ด์ฑ์ ํ๋ณดํ๊ณ , ์๋น์ค ๊ฐ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ ๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋ ์ค๊ณ๊ฐ ๋ฐฐํฌ ์์ ์ฑ์ ํต์ฌ์.
์ค์ฒ ํฌ์ธํธ
๋ค์ค ์๋น์ค ํ๊ฒฝ ๊ตฌ์ถ ์ ๋จ์ผ ์ปจํ ์ด๋ ์ ์ด ํ Docker Compose๋ก ํ์ฅํ๊ณ , ๋ฒ์ ๊ด๋ฆฌ ์๋ํ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ๋ฐฐํฌ ํด๋จผ ์๋ฌ๋ฅผ ๋ฐฉ์งํ ๊ฒ