一、什么是 Docker?
- Docker 是一种容器引擎,可以在容器内运行一段代码,Docker 镜像是在任何地方运行应用程序而无需担心应用程序依赖性的方式。
- 要构建镜像,docker 使用一个名为 Dockerfile 的文件,Dockerfile 是一个包含许多指令(RUN、COPY、EXPOSE 等)的文件,成功执行这些命令后,docker 将创建一个镜像供我们在任何地方使用。
- 为什么要减小 docker 镜像大小?
-
- 安装不必要的软件包会增加攻击面,从而增加安全风险;
-
- 镜像传输需要更多时间;
-
- 部署大镜像需要更多时间;
- 必须以某种方式创建 Dockerfile,以便从该 Dockerfile 构建的镜像在大小方面得到优化。
二、最小化镜像层
- 可以减少 Dockerfile 中的层数,dockerfile 中的每个 FROM、RUN、COPY 命令都会创建一个单独的层,并增加镜像的整体大小和构建时间。
- 要减小 docker 镜像大小,请在单个 RUN 或 COPY 指令中执行多个命令来最小化 Dockerfile 中的层数:
FROM ubuntu:latest
RUN apt