请列举Dockerfile常用保留字 ?
参考答案:
Dockerfile中常用的保留字(也称为指令)如下:
- FROM:这个指令用于指定基础镜像,它是构建新镜像的起点。Dockerfile中应该首先使用FROM指令。
- LABEL:用于为镜像添加元数据,例如描述、作者、版本等信息。
- RUN:在镜像构建过程中执行命令。这些命令可以是任何有效的shell命令。
- CMD:定义容器启动后默认执行的命令及其参数。如果docker run命令后面有参数,CMD指令定义的默认参数会被忽略。
- ENTRYPOINT:配置容器启动后执行的命令,类似于CMD,但ENTRYPOINT不会被docker run后面的命令覆盖,而是将docker run后面的参数作为ENTRYPOINT指令指定程序的参数。
- EXPOSE:声明容器在运行时监听的网络端口。
- ENV:设置环境变量,这些变量可以在容器运行时被访问。
- ADD:将文件或目录从构建上下文复制到镜像中。如果源文件是URL或者压缩文件,ADD指令会自动下载或解压。
- COPY:类似于ADD,但COPY仅支持从构建上下文复制文件或目录,而不支持URL或压缩文件的处理。
- VOLUME:创建一个可以从容器内访问的挂载点,通常用于持久化数据或共享数据。
- WORKDIR:为后续的RUN、CMD、ENTRYPOINT、COPY和ADD指令设置工作目录。
- USER:设置运行容器时的用户名或UID和组名或GID。
- ONBUILD:当构建一个被继承的Dockerfile时运行命令。父镜像在被子继承后,父镜像的ONBUILD会被触发。
这些保留字(指令)在Dockerfile中定义了如何从一个基础镜像构建出一个新的镜像,以及新镜像在运行时的行为。通过组合这些指令,可以创建出满足特定需求的Docker镜像。