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