Dockerfile 详解:从基础指令到生产级镜像构建
Docker 的核心使用方式可以简单理解为: Dockerfile ↓ docker build ↓ Docker Image ↓ docker run ↓ Docker Container 如果说 Docker Container 解决的是“应用怎么运行”,那么 Dockerfile 解决的就是“应用运行环境怎么构建”。 在实际项目中,我们很少直接使用一个现成镜像完成所有工作。对于 PHP、Java、Node.js、Go 等应用,通常需要把项目代码、运行环境、依赖以及启动方式封装成自己的镜像。 Docker 官方将 Dockerfile 定义为描述镜像构建过程的文本文件,Docker 会按照其中的指令顺序构建镜像。Dockerfile 通常从 FROM 开始,并支持 RUN、COPY、CMD、ENTRYPOINT、ENV、ARG、WORKDIR、USER、HEALTHCHECK 等指令。 1. Dockerfile 是什么 一个最简单的 Dockerfile: FROM nginx:1.27 COPY ./html /usr/share/nginx/html 然后执行: docker build -t my-nginx:1.0 . Docker 会读取当前目录下的 Dockerfile,并根据指令构建镜像。 这里有两个重要概念: Dockerfile 定义: 使用什么基础镜像 安装什么软件 复制什么文件 设置什么环境变量 使用什么用户 容器启动时运行什么程序 Image Dockerfile 执行完成后得到镜像。 例如: Dockerfile │ │ docker build ▼ my-nginx:1....