Dockerfile语法规则

      格式:INSTRUCTION <argument>,命令不区分大小写,但约定为全部大写;必须以FROM命令开始,命令出现的顺序就是被执行的顺序

  • FROM:指定镜像基于哪个基础镜像创建,后续命令会基于该基础镜像。多次使用表示会创建多个镜像

               FROM <image name>

  • MAINTAINER:设置该镜像的作者

               MAINTAINER <author name>

  • RUN:执行的shell命令,该命令会在新创建的镜像上添加新的层面。

               RUN  <command> 如:cd target && tar -zxvf datastudio.tar.gz && chmod +x datastudio/bin/run-k8s.sh

  • ADD:复制文件命令。参数:source 和 destination,destination 是容器内的路径。source 可以是 URL 或者是启动配置上下文中的一个文件

               ADD  <source>  <destination>

  • CMD:容器默认的执行命令。Dockerfile只允许使用一次CMD命令。多个CMD会抵消之前所有的命令,只有最后一个命令生效

               CMD ["executable","param1","param2"] 或 CMD ["param1","param2"]

  • EXPOSE:指定容器在运行时监听的端口。语法如下:

               EXPOSE <port>

  • ENTRYPOINT:配置给容器的可执行命令,类似于CMD,只允许一个ENTRYPOINT,多个只执行最后一个

               ENTRYPOINT ["executable", "param1","param2"]

  • WORKDIR:指定RUN、CMD与ENTRYPOINT 命令的工作目录

               WORKDIR  /path/to/workdir

  • ENV:设置环境变量。键值对形式

               ENV <key> <value>

  • USER:给镜像运行时设置一个UID

               USER <uid>

  • VOLUME:授权访问从容器内到主机上的目录

               VOLUME ["/data"]

上一篇:Docker(三):Dockerfile 命令详解


下一篇:Docker速学(二) Dockerfile和数据卷