Skip to main content

dockerfile 介绍

Dockerfile 是用于构建 Docker 镜像的文本文件,其中包含了一系列的指令和配置信息。通过 Dockerfile,可以定义镜像中运行的环境、安装的软件包、配置文件等,以及如何运行容器。Dockerfile 可以帮助开发人员和运维人员更方便地构建、管理和部署应用程序。 Dockerfile 的基本语法结构如下:

INSTRUCTION arguments

其中,#后的内容是注释信息,INSTRUCTION是指令,arguments是指令的参数。常用的指令包括:

  • FROM:指定基础镜像
  • RUN:在镜像中运行命令
  • COPY:将本地文件复制到镜像中
  • ADD:将本地文件或者 URL 复制到镜像中
  • WORKDIR:设置工作目录
  • ENV:设置环境变量
  • EXPOSE:指定容器端口

例如,下面是一个简单的 Dockerfile 示例:

# Use an official Python runtime as a parent image
FROM python:3.8-slim-buster

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt

# Make port 80 available to the world outside this container
EXPOSE 80

# Define environment variable
ENV NAME World

# Run app.py when the container launches
CMD ["python", "app.py"]

这个 Dockerfile 使用了官方的 Python 3.8 镜像作为基础镜像,将当前目录下的文件复制到镜像中,并安装了 requirements.txt 中指定的依赖包,最后将容器的 80 端口暴露给外部,并定义了一个环境变量,最后在容器启动时运行 app.py。通过运行 docker build 命令,可以根据这个 Dockerfile 构建一个新的镜像。