Docker分層鏡像是Docker鏡像的一種特殊形式,它采用分層技術,使得不同層之間可以共享資源,從而大幅度降低內存占用和鏡像體積,提升鏡像的構建速度和可維護性,同時也方便實現鏡像版本管理和打包運輸等功能。
下面示例代碼展示了如何利用Dockerfile構建分層鏡像:
# 基礎鏡像 FROM ubuntu:18.04 AS base # 安裝依賴包 RUN apt-get update && \ apt-get install -y python3 python3-pip && \ rm -rf /var/lib/apt/lists/* # 添加應用代碼和配置文件 COPY app /app COPY config.yaml / # 生產鏡像 FROM base AS prod WORKDIR /app CMD ["python3", "app.py"] # 測試鏡像 FROM base AS test WORKDIR /app RUN pip3 install pytest CMD ["pytest"]
在Dockerfile中,FROM指令用于指定基礎鏡像,后面的指令都會在基礎鏡像的基礎上執行,每個FROM指令都會生成一個一層鏡像,這些鏡像共同組成了完整的分層鏡像。
通過使用Docker分層鏡像,可以減少不必要的資源浪費,提高鏡像的構建和管理效率,這是Docker技術中的重要一步。