Dockerfile 是一个文本文件,其中包含了一系列用于构建 Docker 镜像的指令和参数。以下是 Dockerfile 的基本语法和常用指令:
\ 进行换行。# 开头的行会被 Docker 忽略,用于添加注释。FROM:指定基础镜像。
FROM ubuntu:20.04
RUN:执行命令。
RUN apt-get update && apt-get install -y nginx
COPY:将文件或目录从构建上下文复制到镜像中。
COPY . /app
ADD:类似于 COPY,但可以自动解压 tar 文件,并支持 URL。
ADD https://example.com/file.tar.gz /app
CMD:指定容器启动时执行的命令。
CMD ["nginx", "-g", "daemon off;"]
ENTRYPOINT:指定容器启动时的入口点。
ENTRYPOINT ["nginx"]
EXPOSE:声明容器运行时监听的端口。
EXPOSE 80
ENV:设置环境变量。
ENV MY_VAR=value
VOLUME:创建一个挂载点。
VOLUME ["/data"]
USER:指定运行容器时的用户。
USER nobody
WORKDIR:设置工作目录。
WORKDIR /app
ARG:定义构建时变量。
ARG VERSION=latest
# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04
# 设置环境变量
ENV MY_VAR=value
# 更新包列表并安装 Nginx
RUN apt-get update && apt-get install -y nginx
# 将当前目录下的所有文件复制到容器的 /app 目录
COPY . /app
# 设置工作目录
WORKDIR /app
# 暴露端口 80
EXPOSE 80
# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]
通过这些基本指令,你可以创建一个自定义的 Docker 镜像,并根据需要进行扩展和修改。