使用apt安装最小依赖

108次阅读
没有评论

问题描述

在使用Dockerfile构建镜像时,发现apt在安装依赖时会安装一些不必要的库,导致镜像体积过大。用户想知道为什么会发生这种情况,以及如何避免安装不必要的库。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在使用apt安装依赖时,可以使用--no-install-recommends选项来避免安装推荐的软件包。这样可以减少安装的库的数量,从而减小镜像的体积。
以下是使用--no-install-recommends选项的示例:

FROM debian:stretch-slim as builder
COPY . my_project/
RUN apt-get update && apt-get install -y --no-install-recommends build-essential libpqxx-dev libtbb-dev

在上面的示例中,我们在apt-get install命令中添加了--no-install-recommends选项,这样就只会安装必需的软件包,而不会安装推荐的软件包。

方案2

另一种方法是使用更轻量级的基础镜像,例如distrolessphusion/baseimage-docker。这些基础镜像已经被精简,只包含最小的运行时依赖,可以帮助减小镜像的体积。
distroless
phusion/baseimage-docker
请注意,使用这些基础镜像可能需要对Dockerfile进行一些修改,以适应不同的基础镜像。

结论

通过使用--no-install-recommends选项或更轻量级的基础镜像,可以避免安装不必要的库,从而减小镜像的体积。这样可以加快构建速度,并减少镜像传输和存储的成本。

正文完