Skip to content

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"]

参考

基于 MIT 许可发布