跳到主要内容

Dockerfile 常用语法

Dockerfile

dockerfile 是用来构建 docker 镜像的文件,dockerfile 文件中包含了一系列的指令,每个指令都用于构建镜像。 在编写完 dockerfile 文件后,可以在dockerfile文件所在的目录下,通过 docker build -t <镜像名称> . 命令来构建镜像。

Dockerfile 示例

FROM node:18
COPY /app /app

WORKDIR /app

RUN npm install

CMD ["npm", "start"]

常用语法

  • FROM:指定基础镜像
  • COPY:将文件或目录复制到镜像中
  • WORKDIR:设置工作目录
  • RUN:执行命令
  • CMD:指定容器启动时执行的命令

RUN和CMD的区别

  • RUN:在构建镜像时执行命令
  • CMD:在容器启动时执行命令
特征 💡RUN 指令CMD 指令
执行时机构建镜像时 (Build Time)运行容器时 (Run Time)
目的执行一次性任务,如安装依赖、创建目录、编译代码等,结果会固化在镜像中。执行完之后会退出定义容器启动时默认要执行的主命令,通常用于启动持续运行的服务。执行完之后可以持续进行
结果会创建一个新的 镜像层 (Image Layer)。不创建镜像层,仅作为容器的默认执行命令。