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