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 构建一个新的镜像。