Alpine Linux Images đī¸ â
āĻĄāĻāĻžāϰ āĻāĻā§āϏāĻŋāϏā§āĻā§āĻŽā§ Alpine Linux āĻšāϞ⧠āϏāĻŦāĻā§ā§ā§ āĻāύāĻĒā§āϰāĻŋā§ āĻāĻŦāĻ āĻŦāĻšā§āϞ āĻŦā§āϝāĻŦāĻšā§āϤ āĻŦā§āϏ āĻāĻŽā§āĻāĨ¤ āĻāϰ āĻŽā§āϞ āĻāĻžāϰāĻŖ āĻšāϞ⧠āĻāϰ āĻ āĻŦāĻŋāĻļā§āĻŦāĻžāϏā§āϝ āĻā§āĻ āϏāĻžāĻāĻ āĻāĻŦāĻ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋāĨ¤
ā§§. Alpine Linux āĻāĻŋ? â
Alpine Linux āĻāĻāĻāĻŋ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž-āĻā§āύā§āĻĻā§āϰāĻŋāĻ, āĻšāĻžāϞāĻāĻž (Lightweight) āϞāĻŋāύāĻžāĻā§āϏ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāύ āϝāĻž musl libc āĻāĻŦāĻ busybox-āĻāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āϤā§āϰāĻŋāĨ¤ āĻāĻāĻŋ āĻ āύā§āϝāĻžāύā§āϝ āϞāĻŋāύāĻžāĻā§āϏ āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāύ (āϝā§āĻŽāύ: Ubuntu, Debian) āĻĨā§āĻā§ āĻ āύā§āĻ āĻā§āĻ āĻāĻŦāĻ āĻĻāĻā§āώāĨ¤
⧍. Alpine āĻāϰ āĻŽā§āϞ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāϏāĻŽā§āĻš â
- Ultra-small Size: āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ Alpine āĻāĻŽā§āĻ āĻŽāĻžāϤā§āϰ ā§Ģ-ā§ MB āϏāĻžāĻāĻā§āϰ āĻšā§! āϝā§āĻāĻžāύ⧠Ubuntu āĻāĻŽā§āĻ ā§Žā§Ļ MB-āϰ āĻŦā§āĻļāĻŋ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
- Security: āĻāϰ āĻ ā§āϝāĻžāĻāĻžāĻ āϏāĻžāϰāĻĢā§āϏ (Attack Surface) āĻā§āĻŦ āĻāĻŽ āĻāĻžāϰāĻŖ āĻāϤ⧠āĻ āĻĒā§āϰā§ā§āĻāύā§āϝāĻŧ āĻā§āύ⧠āĻĒā§āϝāĻžāĻā§āĻ āĻŦāĻž āϏāĻžāϰā§āĻāĻŋāϏ āĻĨāĻžāĻā§ āύāĻžāĨ¤
- APK Package Manager: āĻāĻāĻŋ āύāĻŋāĻāϏā§āĻŦ āĻĒā§āϝāĻžāĻā§āĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ
apkāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝāĻž āĻ āύā§āĻ āĻĻā§āϰā§āϤāĨ¤ - musl libc: āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ
glibcāĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻāĻŋ āĻā§āĻ āĻāĻŦāĻ āĻāĻĢāĻŋāϏāĻŋāϝāĻŧā§āύā§āĻmusl libcāϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
ā§Š. apk āĻĒā§āϝāĻžāĻā§āĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ â
Alpine-āĻ āĻā§āύ⧠āϏāĻĢāĻāĻā§ā§āϝāĻžāϰ āĻāύā§āϏāĻāϞ āĻāϰāĻžāϰ āĻāĻŽāĻžāύā§āĻĄāĻā§āϞ⧠āĻā§āĻŦāĻ āϏāĻšāĻ:
# āĻĒā§āϝāĻžāĻā§āĻ āϞāĻŋāϏā§āĻ āĻāĻĒāĻĄā§āĻ āĻāϰāĻž
apk update
# āĻĒā§āϝāĻžāĻā§āĻ āĻāύā§āϏāĻāϞ āĻāϰāĻž
apk add curl git
# āĻā§āϝāĻžāĻļ āĻāĻŽāĻž āύāĻž āϰā§āĻā§ āĻāύā§āϏāĻāϞ āĻāϰāĻž (Best Practice for Docker)
apk add --no-cache nginxā§Ē. musl libc āĻŦāύāĻžāĻŽ glibc (āϏāϤāϰā§āĻāϤāĻž) â
āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻĄā§āĻā§āϏāĻāĻĒ āϞāĻŋāύāĻžāĻā§āϏ (Ubuntu, Debian) glibc āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻŋāύā§āϤ⧠Alpine āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠musl libcāĨ¤
- āϏā§āĻŦāĻŋāϧāĻž: āĻāĻāĻŋ āĻ āύā§āĻ āĻā§āĻ āĻāĻŦāĻ āĻĢāĻžāϏā§āĻāĨ¤
- āĻ
āϏā§āĻŦāĻŋāϧāĻž: āĻāĻŋāĻā§ āĻāĻŋāĻā§ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ (āϝā§āĻŽāύ: āĻāĻŋāĻā§ Python āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦāĻž āĻā§āύā§āĻāύ āĻāĻžāĻāĻž āĻ
ā§āϝāĻžāĻĒ)
musl-āĻ āϏāϰāĻžāϏāϰāĻŋ āϰāĻžāύ āĻāϰāϤ⧠āϏāĻŽāϏā§āϝāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏā§āĻā§āώā§āϤā§āϰ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻŋāĻā§ āĻāĻŽā§āĻĒā§āϝāĻžāĻāĻŋāĻŦāĻŋāϞāĻŋāĻāĻŋ āĻĒā§āϝāĻžāĻā§āĻ āĻāύā§āϏāĻāϞ āĻāϰāϤ⧠āĻšā§āĨ¤
ā§Ģ. āϏāĻžāĻāĻ āϤā§āϞāύāĻž (Size Comparison) â
| āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāύ | āĻāĻŽā§āĻ āϏāĻžāĻāĻ (āĻĒā§āϰāĻžā§) |
|---|---|
| Alpine | ~5 MB |
| BusyBox | ~1 MB |
| Ubuntu | ~80 MB |
| Debian | ~120 MB |
ā§Ŧ. āĻāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύ āĻāĻŦāĻ āĻāĻāύ āĻāϰāĻŦā§āύ āύāĻž? â
āĻāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύ:
- āϝāĻāύ āĻāĻŽā§āĻā§āϰ āϏāĻžāĻāĻ āĻā§āĻ āϰāĻžāĻāĻž āĻā§āĻŦ āĻāϰā§āϰāĻŋāĨ¤
- āϏāĻžāϧāĻžāϰāĻŖ āĻā§ā§āĻŦ āĻ ā§āϝāĻžāĻĒ (Node.js, Go, Python standard apps)-āĻāϰ āĻāύā§āϝāĨ¤
- āĻŽāĻžāĻāĻā§āϰā§āϏāĻžāϰā§āĻāĻŋāϏ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰā§āĨ¤
āĻāĻāύ āĻāϰāĻŦā§āύ āύāĻž:
- āϝāĻāύ āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻā§āĻŦ āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻ
glibcāϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻĒā§āϰā§ā§āĻāύāĨ¤ - āϝāĻĻāĻŋ
musl libcāĻāϰ āĻāĻžāϰāĻŖā§ āĻāĻĒāύāĻžāϰ āĻāĻŽāĻĒā§āϞā§āĻā§āϏ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰ āĻā§āϰā§āϝāĻžāĻļ āĻāϰā§āĨ¤ - āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻŋāĻŽā§āϰ Alpine āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻāĻĻāĻŽāĻ āϧāĻžāϰāĻŖāĻž āύāĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻĻā§āϰā§āϤ āĻĄāĻŋāĻĒā§āϞā§āĻŽā§āύā§āĻ āĻĒā§āϰā§ā§āĻāύ āĻšā§āĨ¤
āϏāĻžāϰāϏāĻāĻā§āώā§āĻĒ (Summary) â
āĻ āϧāĻŋāĻāĻžāĻāĻļ āĻā§āώā§āϤā§āϰ⧠Alpine āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāĻāĻžāĻ āĻŦā§āĻĻā§āϧāĻŋāĻŽāĻžāύā§āϰ āĻāĻžāĻāĨ¤ āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāύā§āĻā§āĻāύāĻžāϰāĻā§ āϞāĻžāĻāĻāĻā§ā§āĻ āĻāĻŦāĻ āϏāĻŋāĻāĻŋāĻāϰ āϰāĻžāĻā§āĨ¤ āϤāĻŦā§ āĻŦāĻŋāϞā§āĻĄ āĻāϰāĻžāϰ āĻĒāϰ āĻ āĻŦāĻļā§āϝāĻ āĻāĻāĻŦāĻžāϰ āĻā§āϏā§āĻ āĻāϰ⧠āύāĻŋāĻļā§āĻāĻŋāϤ āĻšā§ā§ āύāĻŋāύ āϝ⧠āϏāĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻāĻ āĻžāĻ āĻāϞāĻā§ āĻāĻŋāύāĻžāĨ¤
TIP
Dockerfile-āĻ FROM node:alpine āĻŦāĻž FROM python:3.9-alpine āĻāϰ āĻŽāϤ⧠āĻ
āĻĢāĻŋāĻļāĻŋāϝāĻŧāĻžāϞ Alpine-āĻŦā§āϏāĻĄ āĻāĻŽā§āĻāĻā§āϞ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻļā§āϰ⧠āĻāϰā§āύāĨ¤