๋ฉํฐ์คํ ์ด์ง Dockerfile ์์ฑ๊ธฐ Dockerfile Studio
Next.js, Spring Boot, Python, Go ๋ฑ ๋ค์ํ ์คํ์ ์ด๊ฒฝ๋ ๋ฉํฐ์คํ ์ด์ง ๋น๋ Dockerfile & .dockerignore ์ฆ์ ์์ฑ
๐ฆ 1. ๊ธฐ์ ์คํ & ํ๋ ์์ํฌ ์ ํ
โ๏ธ 2. ๋ฐํ์ & ๋คํธ์ํฌ ์ค์
๐ก๏ธ 3. ํ๋ก๋์ ๋ณด์ & ์ต์ ํ ํ๋๊ทธ
๐ 4. ํ๊ฒฝ ๋ณ์ (ENV) ์ค์
๋ฉํฐ์คํ ์ด์ง Docker ๋น๋ ํต์ฌ ์์น & ํ๋ก๋์ ์ต์ ํ ํ
1. ๋ฉํฐ์คํ ์ด์ง์ ํต์ฌ ๊ฐ์น
๋น๋์ ํ์ํ ๋ฌด๊ฑฐ์ด ์ปดํ์ผ๋ฌ, ํจํค์ง ๋งค๋์ , ์บ์๋ฅผ ์ต์ข ๋ฐํ์ ์ด๋ฏธ์ง์์ ์์ ํ ์ ๊ฑฐํ์ฌ ์ฉ๋์ 90% ์ด์ ์ ๊ฐํ๊ณ ๋ณด์ ์ทจ์ฝ์ ์ ์ฐจ๋จํฉ๋๋ค.
2. ๋ ์ด์ด ์บ์ฑ ๊ทน๋ํ ์์
๋น๋ฒํ ๋ณ๊ฒฝ๋๋ ์์ค์ฝ๋(COPY . .)๋ฅผ ๋ณต์ฌํ๊ธฐ ์ ์ package.json์ด๋ go.mod๋ฅผ ๋จผ์ ๋ณต์ฌํ์ฌ ์ข
์์ฑ ๋ ์ด์ด ์บ์๋ฅผ ์ฌํ์ฉํ์ธ์.
3. Non-root ์ฌ์ฉ์ ํ์ํ
์ปจํ
์ด๋ ๋ด๋ถ์์ root ๊ณ์ ์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ์คํํ์ง ๋ง์ธ์. USER appuser๋ฅผ ์ ์ฉํ๋ฉด ์ปจํ
์ด๋ ํ์ถ ๋ฐ ํธ์คํธ ์นจํด ์ํ์ ํ์ ํ ๋ฎ์ถฅ๋๋ค.
4. .dockerignore์ ์ค์์ฑ
.git, node_modules, .env ๋ฑ ๋ถํ์ํ ๋์ฉ๋/๋น๋ฐ ํ์ผ์ ๋น๋ ์ปจํ
์คํธ์์ ์ ์ธํด์ผ ๋น๋ ์๋๊ฐ ๋นจ๋ผ์ง๊ณ ๋น๋ฐ ์ ์ถ์ ๋ฐฉ์งํฉ๋๋ค.
์๊ฒฌ ๋ฐ ์ง๋ฌธ
0์์ง ๋ฑ๋ก๋ ์๊ฒฌ์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋๊ธ์ ๋จ๊ฒจ๋ณด์ธ์!
๋๊ธ ์์
๋๊ธ ์ญ์