zoukankan      html  css  js  c++  java
  • 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"]

  • 相关阅读:
    PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题
    团队展示
    测试与优化:设计模式的应用和初次尝试多线程
    结对编程,三年级混合运算
    一个大气又可爱的标题
    随笔
    C#操作word类文件
    TypeError: Object of type 'int32' is not JSON serializable ——已解决
    Error: UserWarning: Ignoring URL... 已解决
    tensorflow(二)----线程队列与io操作
  • 原文地址:https://www.cnblogs.com/yb38156/p/14902526.html
Copyright © 2011-2022 走看看