文档:Best practices for writing Dockerfiles | Docker documentation
1.简介Docker 通过从一个包含构建命令的 Dockerfile 文件中读取指令来自动构建镜像。
Dockerfile遵循特定格式和指令集。
2.镜像层Docker 镜像由只读层组成,每个层代表一个 Dockerfile 指令。
这些层是堆叠的,每一层都是前一层变化的增量。
# syntax=docker/dockerfile:1 FROM ubuntu:18.04 COPY . /app RUN make /app CMD python /app/app.py
FROM:从ubuntu:18.04Docker 映像创建一个层。 COPY:从 Docker 客户端的当前目录添加文件。 RUN:使用make. CMD:指定要在容器中运行的命令。
运行一个镜像并生成一个容器时,会在底层之上添加一个新的可写层(“容器层”)。
对正在运行的容器所做的所有更改,如写入新文件、修改现有文件和删除文件,都会写入容器层。
需要尽量减少镜像层数以确保性能:
只有RUN, COPY,ADD创建新的镜像层 其他指令创建临时中间图像ÿ



