Dockerfile是什么?
Dockerfile 是一个文本文件,其中包含了一系列指令,用来自动化构建 Docker 镜像。它的主要作用就是定义一个 Docker 镜像的构建过程,包括镜像的基础镜像、安装的软件、设置的环境变量、暴露的端口、执行的命令等。
主要指令有哪些?
FROM:指定基础镜像。
FROM ubuntu:20.04,表示使用 ubuntu 20.04 作为基础镜像。
RUN:在镜像构建过程中执行命令(通常用于安装软件)。
RUN apt-get update && apt-get install -y curl,表示在镜像中安装 curl 软件。
COPY / ADD:将文件从本地复制到镜像中。
COPY ./myapp /app,表示将当前目录下的 myapp 文件夹复制到镜像中的 /app 目录。
WORKDIR:设置工作目录,后续的命令都会在该目录下执行。
WORKDIR /app,设置工作目录为 /app。
EXPOSE:暴露容器的端口,供外部访问。
EXPOSE 8080,表示容器会监听 8080 端口。
CMD / ENTRYPOINTCMD / ENTRYPOINT:指定容器启动时执行的命令。
CMD 是容器启动时的默认命令,但可以被 docker run 覆盖;ENTRYPOINT 是容器启动时的强制命令。
CMD ["python", "app.py"],表示容器启动时会执行 python app.py。