Docker 镜像的大小因内容和用途差异很大,以下是详细分析:
alpine:latest
仅5MB)nginx:alpine
:约 20MBpython:3.9-slim
:约 40MBopenjdk:17-jdk-slim
:约 200MBubuntu:22.04
约 72MB)tensorflow/tensorflow:latest-gpu
):2GB~5GBmysql:8.0
):约 500MBalpine
比ubuntu
小90%以上。apt-get clean
)。--no-cache-dir
)。docker images --format "{{.Repository}}:{{.Tag}}\t{{.Size}}"
输出示例:
nginx:alpine 23.5MB
python:3.9-slim 45.2MB
mysql:8.0 546MB
-alpine
或-slim
标签。多阶段构建示例(减少Java镜像大小):
FROM maven:3.8 AS build
COPY . /app
RUN mvn package
FROM openjdk:17-jdk-slim
COPY --from=build /app/target/app.jar /app.jar
CMD ["java", "-jar", "/app.jar"]
mcr.microsoft.com/windows/servercore:ltsc2022
约 5GB)。通过合理优化,多数生产镜像可控制在 100MB以内。如需进一步帮助,可提供具体镜像名称分析优化空间。