Dockerfile最佳实践
Dockerfile 最佳实践
-
使用多阶段构建:减少最终镜像的大小,只包含运行所需的文件。
dockerfileFROM python:3.9 AS builder
COPY . .
RUN pip install --user -r requirements.txt
FROM python:3.9-slim
COPY --from=builder /root/.local /root/.local
COPY . .
CMD ["python", "app.py"] -
减少层数:合并多个
RUN指令,减少镜像层数。dockerfileRUN apt-get update && \
apt-get install -y git && \
rm -rf /var/lib/apt/lists/* -
使用
.dockerignore文件:避免将不必要的文件复制到镜像中。 -
指定明确的版本:避免使用
latest标签,确保构建的可重复性。dockerfileFROM python:3.9-slim -
最小化镜像大小:使用轻量级的基础镜像(如
alpine或slim版本)。 -
使用健康检查:确保容器运行正常。
dockerfileHEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost/ || exit 1
Dockerfile 调试技巧
- 使用
docker build --no-cache强制重新构建,忽略缓存。 - 使用
docker history <image>查看镜像的构建历史。 - 使用
docker run -it <image> /bin/sh进入容器内部调试。