主题
Dockerfile
描述镜像构建步骤的文本文件。docker image build 按指令执行并生成镜像。
常用指令
基础
dockerfile
FROM ubuntu:22.04
ARG VERSION=1.0
ENV APP_HOME=/app文件与构建
dockerfile
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .COPY:复制本地文件。ADD:额外支持远程 URL、自动解压 tar;多数场景优先COPY。- 尽量合并
RUN,减少镜像层。
运行时
dockerfile
EXPOSE 8080
VOLUME /data
CMD ["node", "server.js"]
ENTRYPOINT ["node", "server.js"]| 指令 | 要点 |
|---|---|
CMD | 默认命令,可被 docker run 末尾参数覆盖 |
ENTRYPOINT | 入口命令;可用 --entrypoint 覆盖 |
| 两者同用 | ENTRYPOINT 为可执行文件,CMD 常作默认参数 |
推荐 Exec(JSON 数组)格式,避免 shell 解析差异:
dockerfile
CMD ["echo", "hello"]
ENTRYPOINT ["echo", "hello"]