编写 Dockerfile 的最佳实践概述
本主题涵盖构建高效映像的推荐最佳实践和方法。它 ,并 。
Docker 通过读取 Dockerfile 中的指令来自动构建镜像,Dockerfile 是一个文本文件,其中按顺序包含构建给定镜像所需的所有命令。 Dockerfile 遵循特定的格式和指令集,您可以在 中找到这些指令。
Docker 镜像由只读层组成,每个层代表一条 Dockerfile 指令。这些层是堆叠在一起的,每一层都是与前一层的变化的增量。
# syntax=docker/dockerfile:1 FROM ubuntu:22.04 COPY . /app RUN make /app CMD python /app/app.py
在上面的示例中,每条指令创建一层:
FROM从 Docker 镜像创建一个层ubuntu:22.04。COPY从 Docker 客户端的当前目录添加文件。RUN使用 构建您的应用程序make。CMD指定要在容器内运行的命令。
当您运行图像并生成容器时,您将在底层层之上添加一个新的可写层,也称为容器层。对正在运行的容器所做的所有更改,例如写入新文件、修改现有文件和删除文件,都会写入此可写容器层。
- 。
这些官方镜像具有示例性的 Dockerfile:
