ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ณ Docker ์ด๋ฏธ์ง ์ต์ ํ: 1.2GB → 57MB, 95% ์ด์ ์ค์ด๊ธฐ
octo54 2025. 5. 9. 11:21
๐ณ Docker ์ด๋ฏธ์ง ์ต์ ํ: 1.2GB → 57MB, 95% ์ด์ ์ค์ด๊ธฐ
Docker ์ด๋ฏธ์ง๋ ๊ฐ๋จํด ๋ณด์ด์ง๋ง, ์ค์ ๋ก๋ ์ต์ ํ๋์ง ์์ ์ด๋ฏธ์ง๋ก ์ธํด
๋ฐฐํฌ ์๋ ์ ํ, ์คํ ๋ฆฌ์ง ๋ญ๋น, ๋ณด์ ์ทจ์ฝ์ ์ฆ๊ฐ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ Docker ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ 1.2GB์์ 57MB๋ก ์ค์ด๋ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ์๊ฐํฉ๋๋ค.
โ ํต์ฌ ์ต์ ํ ์ ๋ต ์์ฝ
์ ๋ต ์ค๋ช
์ต์ํ์ ๋ฒ ์ด์ค ์ด๋ฏธ์ง ์ฌ์ฉ | Alpine ๋๋ Distroless ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ ํฌ๊ธฐ ์ต์ํ |
๋ฉํฐ ์คํ ์ด์ง ๋น๋ | ๋น๋ ํ๊ฒฝ๊ณผ ์คํ ํ๊ฒฝ์ ๋ถ๋ฆฌํ์ฌ ์ต์ข ์ด๋ฏธ์ง ํฌ๊ธฐ ์ต์ํ |
๋ถํ์ํ ํ์ผ ์ ๊ฑฐ | .dockerignore๋ฅผ ํ์ฉํ์ฌ ๋ถํ์ํ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ์ ์ธ |
๋ ์ด์ด ์ ์ต์ํ | RUN ๋ช ๋ น์ด๋ฅผ ํ๋๋ก ๊ฒฐํฉํ์ฌ ๋ ์ด์ด ์ ์ค์ด๊ธฐ |
์บ์ ํ์ฉ ์ต์ ํ | ๋ณ๊ฒฝ์ด ์ ์ ๋ช ๋ น์ด๋ฅผ ์๋จ์ ๋ฐฐ์นํ์ฌ ์บ์ ํจ์จ์ฑ ํฅ์ |
๐ง ์์ ์ฝ๋: Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ต์ ํ
๋ค์์ Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ต์ ํ๋ Dockerfile ์์์ ๋๋ค:
# ๋น๋ ์คํ
์ด์ง
FROM node:16-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
# ์คํ ์คํ
์ด์ง
FROM node:16-alpine
WORKDIR /app
COPY --from=builder /app .
CMD ["node", "index.js"]
.dockerignore ์์:
node_modules
npm-debug.log
Dockerfile
.dockerignore
.git
.gitignore
README.md
๐ก ์ฝ๋ ์ค๋ช
- ๋น๋ ์คํ
์ด์ง ๋ถ๋ฆฌ:
- Node.js ๋ชจ๋ ์ค์น์ ์์ค ๋ณต์ฌ๋ฅผ ๋ณ๋์ ๋น๋ ์คํ ์ด์ง์์ ์งํํ์ฌ ๋ถํ์ํ ํ์ผ์ ์ค์ ๋๋ค.
- ์คํ ์คํ
์ด์ง ๊ฐ์ํ:
- ๋น๋ ์คํ ์ด์ง์์ ๋ง๋ค์ด์ง ๊ฒฐ๊ณผ๋ฌผ๋ง ๊ฐ์ ธ์ ์ต์ข ์ด๋ฏธ์ง๋ฅผ ์ต์ํํฉ๋๋ค.
- ๋ถํ์ ํ์ผ ์ ๊ฑฐ:
- .dockerignore๋ฅผ ์ฌ์ฉํ์ฌ ์์ค ์ฝ๋์ ํฌํจ๋์ง ์์๋ ๋๋ ํ์ผ์ ์ ๊ฑฐํฉ๋๋ค.
๐ ์ต์ ํ ๊ฒฐ๊ณผ
- ์ด๊ธฐ ์ด๋ฏธ์ง ํฌ๊ธฐ: 1.2GB
- ์ต์ ํ ํ ์ด๋ฏธ์ง ํฌ๊ธฐ: 57MB
- ํฌ๊ธฐ ๊ฐ์์จ: 95% ์ด์
์ด๋ฌํ ์ต์ ํ๋ฅผ ํตํด ๋ฐฐํฌ ์๋ ํฅ์, ์คํ ๋ฆฌ์ง ๋น์ฉ ์ ๊ฐ, ๋ณด์ ๊ฐํ ๋ฑ์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๐ก ์ ์ ์๊ฐ
Docker ์ด๋ฏธ์ง ์ต์ ํ๋ ๋จ์ํ ์ฑ๋ฅ ํฅ์์ ๋์ด,
์ด์ ๋น์ฉ ์ ๊ฐ๊ณผ ๋ณด์ ๊ฐํ์๋ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
ํนํ ๋ฉํฐ ์คํ
์ด์ง ๋น๋์ .dockerignore ํ์ฉ์ ๊ฐ๋จํ๋ฉด์๋ ํจ๊ณผ์ ์ธ ์ต์ ํ ๋ฐฉ๋ฒ์
๋๋ค.
๊ฐ์ธ์ ์ผ๋ก, ๊ฐ๋ฐ ์ด๊ธฐ ๋จ๊ณ๋ถํฐ ์ด๋ฌํ ์ต์ ํ ์ ๋ต์ ์ ์ฉํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ต์ด ์ค์ ๋จ๊ณ์์ ์กฐ๊ธ ๋ ์ ๊ฒฝ์ ์ฐ๋ฉด, ์ดํ์ ์ ์ง๋ณด์์ ๋ฐฐํฌ ๋จ๊ณ์์
์๋์ ์์ ์ฑ ๋ชจ๋๋ฅผ ํ๋ณดํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
Docker ์ด๋ฏธ์ง ์ต์ ํ, ๋ฉํฐ ์คํ
์ด์ง ๋น๋, Alpine ์ด๋ฏธ์ง, .dockerignore ํ์ฉ,
Node.js Docker ์ต์ ํ, Dockerfile ์ต์ ํ, ์ปจํ
์ด๋ ๋ณด์ ๊ฐํ, ๋ฐฐํฌ ์๋ ํฅ์,
์คํ ๋ฆฌ์ง ๋น์ฉ ์ ๊ฐ, DevOps ๋ฒ ์คํธ ํ๋ํฐ์ค
'๊ธ > ๋ชจ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
- Total
- Today
- Yesterday
- Next.js
- SEO ์ต์ ํ
- ํ๋ก ํธ์๋๋ฉด์
- gatsbyjs
- ์น๊ฐ๋ฐ
- JAX
- ๋ฐฑ์๋๊ฐ๋ฐ
- nodejs
- Webpack
- SEO์ต์ ํ
- nextJS
- ๊ฐ๋ฐ๋ธ๋ก๊ทธ
- PostgreSQL
- ๋ฅ๋ฌ๋
- App Router
- CI/CD
- Docker
- Prisma
- AI์ฑ๋ด
- REACT
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- Python
- rag
- seo ์ต์ ํ 10๊ฐ
- kotlin
- Ktor
- llm
- NestJS
- fastapi
- ํ๋ก ํธ์๋
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |