以下是一些流行且常用的 Docker 基础镜像总结,按不同用途分类整理:
适合需要最小化容器体积的场景:
- alpine
- 基于 Alpine Linux(仅5MB左右)
- 优势:极小的体积,适合生产环境
- 注意:使用 musl libc
,可能与某些依赖 glibc
的软件不兼容(如部分 Python 库)。
scratch
busybox
适合需要完整系统功能的场景:
- ubuntu
/ debian
- 提供完整的包管理工具(apt
),社区支持广泛。
- 推荐标签:ubuntu:22.04
、debian:bookworm-slim
(精简版)。
centos
/ rockylinux
rockylinux:9
。amazonlinux
python:3.11-alpine
python:3.11-slim
node:18-alpine
node:18-bullseye-slim
eclipse-temurin:17-jdk-jammy
adoptopenjdk
)。amazoncorretto:17
golang:1.20-alpine
scratch
运行二进制文件。postgres:15-alpine
mysql:8.0
debian
基础。mongo:6.0
nginx:alpine
redis:7-alpine
traefik:latest
[OFFICIAL]
)。python:3.11.4
而非 python:latest
)。-alpine
或 -slim
以减少漏洞扫描风险。-bullseye
或 -ubuntu
镜像安装工具(如 curl
、vim
)。musl libc
问题,改用 -slim
或完整镜像。docker images
或 dive
工具分析各层体积。如果需要更具体的场景推荐,可以进一步说明需求!