Dockerfile 是用于构建 Docker 镜像的文本文件。它包含了构建镜像所需的所有指令和参数。下面将详细介绍 Dockerfile 的基本结构和常用指令。

基本结构

一个基本的 Dockerfile 通常包含以下几个部分:

  • FROM:指定基础镜像
  • MAINTAINER:指定维护者信息
  • RUN:执行命令
  • CMD:指定容器启动时运行的命令
  • EXPOSE:指定容器暴露的端口
  • ENV:设置环境变量
  • ADD:添加文件或目录
  • COPY:复制文件或目录
  • WORKDIR:设置工作目录
  • VOLUME:创建数据卷
  • ENTRYPOINT:指定容器启动时运行的入口点

常用指令

以下是一些常用的 Dockerfile 指令:

  • FROM:指定基础镜像,例如 FROM python:3.8
  • RUN:执行命令,例如 RUN pip install Flask
  • CMD:指定容器启动时运行的命令,例如 CMD ["python", "app.py"]
  • EXPOSE:指定容器暴露的端口,例如 EXPOSE 5000
  • ENV:设置环境变量,例如 ENV NAME World
  • ADD:添加文件或目录,例如 ADD requirements.txt .
  • COPY:复制文件或目录,例如 COPY . /app
  • WORKDIR:设置工作目录,例如 WORKDIR /app
  • VOLUME:创建数据卷,例如 VOLUME ["/data"]
  • ENTRYPOINT:指定容器启动时运行的入口点,例如 ENTRYPOINT ["python", "app.py"]

示例

以下是一个简单的 Flask 应用 Dockerfile 示例:

FROM python:3.8

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["python", "app.py"]

扩展阅读

想要了解更多关于 Dockerfile 的信息,可以访问我们的官方文档

Docker Image