Docker Image Size ์ต์ ํ
Docker Image๊ฐ ํด ๋์ ๋ฌธ์ ์
- ML ํ๋ ์์ํฌ์ ๋ชจ๋ธ์ ํฌํจํ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ฒ ๋๋ฉด ์ฌ์ด์ฆ๊ฐ ๋งค์ฐ ์ปค์ง๊ฒ ๋จ
- ๋งค์ฐ ํฐ ๋์ปค ์ด๋ฏธ์ง๋ ๋น๋ ํ์, ๋ฐํ์, ํธ์คํธ ๋จธ์ ๋์คํฌ 3๊ฐ์ง ๋ถ๋ถ์์ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ฒ ๋จ
- ๋น๋ ํ์ ๊ด์
- ๋น๋ ์๋ : ์๋ก์ด ์ด๋ฏธ์ง๋ก ๊ต์ฒดํ๊ธฐ ์ํด ๊ธฐ๋ค๋ ค์ผํ๋ ์๊ฐ์ด ๋์ด๋์, ์ ์ํ ๋์์ด ์ด๋ ค์์ง
- ๋คํธ์ํฌ ์ ์ก ๋น์ฉ : ํธ์, ํ ๋น์ฉ
- ๊ฐ์ข
๋น์ฉ : ๋์คํฌ ์ฉ๋, ๋น๋ ์๊ฐ์ ๋ฐ๋ผ ๋น์ฉ์ด ๋์ด๋จ
- ๋ฐํ์ ๊ด์
- ์ปจํ
์ด๋ ์์ ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋๋ ์ฉ๋์ด ๋งค์ฐ ํผ
- ์ด๋ฏธ์ง ํ ์ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง
- ํธ์คํธ ๋จธ์ ๋์คํฌ
- ์ด๋ฏธ์ง์ ์ฉ๋์ด ๋งค์ฐ ์ปค์ VM ์ธ์คํด์ค ํ๊ฒฝ์์ ๋์คํฌ์ ๋ํ ์ฉ๋ ๊ด๋ฆฌ๊ฐ ํ์ํจ
- ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๋์คํฌ ์ฉ๋์ ๋น์ฉ๊ณผ ์ง๊ฒฐ๋๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํจ
Docker Image Size ์ต์ ํ
- ์์ ๋ฐฐ์ด์ค ์ด๋ฏธ์ง๋ฅผ ์ ์ ํด์ ์ฌ์ฉํ๊ธฐ
- ์๋ง์ Base Image๋ฅผ ์ฐพ๋ ๊ฒ ์ค์
- ์ฌ์ฉํ OS package๋ค๋ง ์ค์น ํ ์ฌ์ฉ, bash, zsh๋ฑ shell ํ๊ฒฝ์ด ์ ๊น๋ ค ์์์๋ ์์
- ํ์ด์ฌ
- ํ์ค ์ด๋ฏธ์ง : python:3.9
- ์ฌ๋ฆผ ์ด๋ฏธ์ง : python:3.9-slim : ์ฌ๋ฆผํ ๋ฐ๋น์ ์ด๋ฏธ์ง ๊ธฐ๋ฐ, Production ํ๊ฒฝ์ ์ ํฉ
- ์ํ์ธ ์ด๋ฏธ์ง : python3.9-alpine : Alpine Linux ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ, ์์ ํฌ๊ธฐ, ์ข
์์ฑ์ ์๋ ์ค์นํด์ผ ํ ์๋ ์์
- Multi Stage Build ํ์ฉํ๊ธฐ
- ๋์ปค ์ด๋ฏธ์ง๋ฅผ ํจ์จ์ ์ผ๋ก ์์ฑํ๊ณ ์ต์ ํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
- ๋น๋์๋ ํ์ํ์ง๋ง ์ต์ข
์ปจํ
์ด๋ ์ด๋ฏธ์ง์๋ ํ์์๋ ๋ด์ฉ๋ค์ ์ ์ธ์ํค๋ฉด์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
- ํ๋์ ๋์ปค ํ์ผ์ ์ฌ๋ฌ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ์ฌ ์ฌ์ฉ
- ๋ฒ ์ด์ค ์ด๋ฏธ์ง๋ฅผ ๋ฐ๊พธ๋ฉด์ 2๊ฐ ์ด์์ Dockerfile์ด ์๋ ๊ฒ์ฒ๋ผ ๋น๋๋ฅผ ์ํํ๊ธฐ๋ ํจ
- COPY์ --from ์ต์
์ ํตํด ์คํ ์ด๋ฏธ์ง๋ก ์ ๋ฌํ ์ ์์
- Multi Stage
- build์ runtime ๋ถ๋ถ์ผ๋ก ๋๋๊ณ Copy --from=build๋ฅผ ํตํด์ ํ์ํ ๋ถ๋ถ๋ค๋ง ์ถ์ถํ์ฌ ์ฌ์ฉ
- ์์)
- build์์๋ base image๋ฅผ python:3.9๋ฅผ ์ฌ์ฉํ๊ณ
- runtime์์๋ base image๋ก python:3.9-slim์ ์ฌ์ฉํ๋ฉด์ ํ์ํ ๋ถ๋ถ๋ค์ Copy --from=build/root/.local ์์ ๊ฐ์ ธ์ด
- Container ํจํค์งํ๊ธฐ
- .dockerignore๋ก ํ์์๋ ํ์ผ๋ค ์ ๊ฑฐ
- .pt, .pth์ ๊ฐ์ ํฐ ๋ชจ๋ธ ํ์ผ๋ค์ ๋น๋์ ํฌํจํ์ง ์๊ณ ๋น๋ ํ์ ํน์ ์ปจํ
์ด๋ ์์ํ๋ ์คํฌ๋ฆฝํธ์์ ๋ฐ๋ก ๋ค์ด๋ก๋
- Dockerfile ์์์ command๋ค์ ์์ ์ต์ ํ๋ฅผ ํตํด ์บ์ฑ์ ์ต๋ํ ์ด์ฉ
- ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ๋ช
๋ น์ด๋ฅผ ์๋ก, ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ช
๋ น์ด๋ ์๋์ ์์น
- ๋์ค์ ๋ฐ๊ฟ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ๋ช
๋ น์ด๋ถํฐ ์ํํ๋ฉด ๋์ค์ ๋ฐ๊พธ๋๋ผ๋ ๊ทธ ์ ๋ช
๋ น์ด๊น์ง๋ ์บ์๋ฅผ ์ด์ฉ ๊ฐ๋ฅ