范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Dockerfile指令参考

  1、FROM
  FROM指令是最重要的一个且必须为Dockerfile文件开篇的第一个非注释行,用于为映像文件构建过程指定基准镜像,后续的指令运行于此基准镜像所提供的运行环境,实践中,基准镜像可以是任何可用镜像文件,默认情况下,docker build会在 docker主机上查找指定的镜像文件,在其不存在时,则会从Docker Hub Registry上拉取所需的镜像文件,如果找不到指定的镜像文件,docker build会返回一个错误信息。
  FROM :
  :指定作为base image的名称。
  :base image的标签,为可选项,省略时默认为latest。2、LABLE
  LABEL用于为镜像添加元数据,元数以键值对的形式指定。
  LABEL version="1.0" description="这是一个Web服务器" by="IT笔录"
  指定后可以通过docker inspect查看镜像的元数据信息。
  docker inspect :或者<镜像ID> 3、COPY
  用于从 Docker主机复制文件至创建的新映像文件。
  COPY  ...  或 . COPY ["",... ""]
  :要复制的源文件或目录,支持使用通配符
  :目标路径,即正在创建的 image的文件系统路径;建议为使用绝对路径,绝对路径为镜像中的路径,而不是宿主机的路径。否则,COPY指定则以WORKDIR为其起始路径。4、ADD
  ADD指令类似于COPY指令,ADD支持使用TAR文件和URL路径。
  ADD  ...  或 ADD ["",... ""]
  同COPY5、WORKDIR
  workdir为工作目录,指当前容器环境的工作目录,用于为 Dockerfile中所有的 RUN、CMD、ENTRYPOINT、COPY和 ADD指定设定工作目录。
  WORKDIR  6、VOLUME
  定义卷,只能是docker管理的卷,VOLUME为容器上的目录,用于在 image中创建一个挂载点目录,以挂载 Docker host上的卷或其它容器上的卷。
  VOLUME  或 VOLUME [""]
  如果挂载点目录路径下此前在文件存在, docker run命令会在卷挂载完成后将此前的所有文件复制到新挂载的卷中。7、EXPOSE
  暴露指定端口,用于为容器打开指定要监听的端口以实现与外部通信
  EXPOSE [/] [[/] ...]
  :用于指定传输层协议,可为 tcp或udp二者之一,默认为 TCP协议。8、ENV
  ENV用于为镜像定义所需的环境变量,并可被 Dockerfile文件中位于其后的其它指令(如 ENV、ADD、COPY等)所调用 ,即先定义后调用,调用格式为 $variable_name或${variable_name}。
  ENV  或 . ENV = ...
  第一种格式,之后的所有内容均会被视作其 的组成部分,因此一次只能设置一个变量。
  第二种格式,可用一次设置多个变量,每个变量为一个"="的键值对,如果包含空格,可以以反斜线()进行转义,也可通过对加引号进行标识;另外反斜线也可以用于续行。
  定义多个变量时,建议使用第二种方式,以便在同一层中完成所有功能。9、RUN
  RUN用于指定 docker build过程中运行的程序,其可以是任何命令,但是这里有个限定,一般为基础镜像可以运行的命令,如基础镜像为centos,安装软件命令为yum而不是ubuntu里的apt-get命令。
  RUN和CMD都可以改变容器运行的命令程序,但是运行的时间节点有区别,RUN表示在docker build运行的命令,而CMD是将镜像启动为容器运行的命令。因为一个容器正常只用来运行一个程序,因此CMD一般只有一条命令,如果CMD配置多个,则只有最后一条命令生效。而RUN可以有多个。
  RUN 或 . RUN ["", "", ""]
  第一种格式中,通常是一个shell命令,且以"/bin/sh -c"作为父进程来运行它,这意味着此进程在容器中的PID不为1,不能接收Unix信号,因此,当使用 docker stop 命令停止容器时,此进程接收不到SIGTERM信号。
  第二种语法格式中的参数是一个JSON格式的数组,其中为要运行的命令,后面的为传递给命令的选项或参数;然而,此种格式指定的命令不会以"/bin/sh -c"来发起,表示这种命令在容器中直接运行,不会作为shell的子进程,因此常见的shell操作如变量替换以及通配符(?,*等)替换将不会进行,不过,如果要运行的没能力依赖此shell特性的话,可以将其替换为类似下面的格式。10、CMD
  类似于 RUN指令,CMD指令也可用于运行任何命令或应用程序,不过,二者的运行时间点不同。RUN指令运行于映像文件构建过程中,而 CMD指令运行于基于 Dockerfile构建出的新映像文件启动一个容器时。 CMD指令的首要目的在于为启动的容器指定默认要运行的程序,且其运行结束后,容器也将终止;不过,CMD指定的命令其可以被docker run的命令行选项所覆盖。在Dockerfile中可以存在多个CMD指令,但仅最后一个会生效。
  CMD  或 CMD ["","",""] 或 CMD["",""]
  前两种语法格式的意义同 RUN。
  第三种则用于为 ENTRYPOINT指令提供默认参数。11、ENTRYPOINT
  类似CMD指令的功能,用于为容器指定默认运行程序,从而使得容器像是一个单独的可执行程序。
  与CMD不同的是,由ENTRYPOINT启动的程序不会被docker run命令行指定的参数所覆盖,而且,这些命令行参数会被当作参数传递给 ENTRYPOINT指定指定的程序。不过,docker run命令的--entrypoint选项的参数可覆盖ENTRYPOINT指令指定的程序。
  ENTRYPOINT  或 ENTRYPOINT ["","",""]
  docker run命令传入的命令参数会覆盖CMD指令的内容并且附加到ENTRYPOINT命令最后做为其参数使用。Dockerfile文件中也可以存在多个 ENTRYPOINT指令,但仅有最后一个会生效。12、ARG
  ARG用于指定传递给构建运行时的变量。
  ARG [=]
  在使用docker build 构建镜像时,可以通过--build-arg =参数来指定或重设置这些变量的值。13、STOPSIGNAL
  STOPSIGNAL用于设置停止容器所要发送的系统调用信号。
  STOPSIGNAL signal
  所使用的信号必须是内核系统调用表中的合法的值,如:SIGKILL。14、SHELL
  SHELL用于设置执行命令(shell式)所使用的默认shell类型。
  SHELL ["executable", "parameters"]
  SHELL在Windows环境下比较有用,Windows下通常会有cmd和powershell两种shell,可能还会有sh。这时就可以通过SHELL 来指定所使用的shell类型。15、USER
  USER用于指定运行image时的或运行Dockerfile中任何RUN、CMD或ENTRYPOINT指令指定的程序时的用户名或UID,即改变容器中运行程序的身份。
  默认情况下,container的运行身份为root用户。
  USER |
  可以为任意数字,但实践中其必须为/etc/passwd中某用户的有效UID,否则docker run命令将运行失败,使用USER指定用户时,可以使用用户名、UID或GID,或是两者的组合。以下都是合法的指定试:USER userUSER user:groupUSER uidUSER uid:gidUSER user:gidUSER uid:group
  使用USER指定用户后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT都将使用该用户。镜像构建完成后,通过docker run 运行容器时,可以通过-u参数来覆盖所指定的用户。16、ONBUILD
  ONBUILD用于在Dockerfile中定义一个触发器,用来指定运行docker指令。
  Dockerfile用于 build映像文件,此映像文件亦可作为base image被另一个 Dockerfile用作FROM指令的参数,并以之构建新的映像文件,
  在后面的这个Dockerfile中的FROM指令在build过程中被执行时,将会 "触发 "创建其base image的Dockerfile文件中的ONBUILD指令定义的触发器。
  ONBUILD
  尽管任何指令都可注册成为触发器指令,但是ONBUILD不能自我嵌套,且不会触发FROM和MAINTAINER指令。
  使用包含ONBUILD指令的Dockerfile构建的镜像应该使用特殊的标签,例如ruby:2.0-onbuild。
  在ONBUILD指令中使用ADD或COPY指令应该格外小心,因为新构建过程的上下文在缺少指定的源文件时会失败。
  ONBUILD在构建镜像时不会运行,是别人基于这个镜像作为基础镜像构建时,才会运行。

初中文凭学什么专业好?感谢你的提问。对于你的这个问题,我是这么理解的你初中毕业后想到职业中专上学,所以你才想问选什么专业比较适合自己,基于我的理解,按照我校所设置的专业,我对你提如下两条建议,希望能对你王者荣耀体验服手机怎么申请比较好?1。关注官网咨询。官方会定期开放体验服账号资格申请。大多为安卓区账号2。在申请页面填写好个人信息。等待通知3。体验服申请页面有安卓体验服的下载二维码,可以提前下载更新好。到时候拿到住宅区占地近6平方公里!特斯拉扩建工厂美地产商嗅到商机据澳大利亚新闻网近日报道,随着特斯拉申请扩建位于得克萨斯州奥斯汀市的超级工厂,嗅觉敏锐的美国房地产商马上从中捕捉到巨大商机。2月上旬,特斯拉向奥斯汀市呈送文件,正式提出了建设电池厂8848是什么手机?你,与众不同,你喜欢超越。你有梦想,你有力量,你从不把成就作为终点,记住,你的名字叫做成功!8848钛金手机,钛合金24黄金角立体切割,荷兰进口小牛皮,视网膜高清屏幕,128G顶配想给父母购买智能手机,请问1千元以内的推荐哪个品牌型号机子?千元机最好是用鲁大师对比测试,看具体哪个性价比高。题主是不是配岔图了?华为P50一千块哪里有卖的,我要速速抢购?1000以内没啥好选的,红米真我爱酷之类的冲就完事了,但像P50这样有好看的动漫壁纸推荐吗?话不多说,直接分享40张超好看的唯美动漫壁纸!这一组动漫美少女壁纸超好看超性感超漂亮的。我相信每个人都会喜欢的。爱美之心,人皆有之,面对好看的东西,都会超级喜爱的。大家好好挑选收藏你的单反还能撑多久?(附查询快门次数工具)你的单反还能按多少次快门?单反相机的寿命大概是多少?你想过这个问题吗?各大厂商在对单反相机的描述中,从来没说过XX万次之后,机身就报废。一般都是用快门寿命理论在XX万次。无偿领取提为什么有那么多国人选择苹果手机呢?不光手机电脑都改用了苹果。曾经手机和电脑一样都是新出个系统就兴奋的不得了,就想装上玩玩,电脑从dos玩到了win7,手机从seppc玩到了安卓4。3,最终被病毒bug折腾的厌烦了累科技冬奥背后的AI势力从机器人到鹰眼裁判本报记者曲忠芳李正豪北京报道2022年冬奥会持续吸引着全世界的瞩目,北京成为全球第一个既举办过夏季奥运会又举办冬季奥运会的双奥之城。中国经营报记者注意到,2008年北京奥运会首次提如何能延长iphone电池使用寿命,有哪些技巧?有时候手机也没怎么用,为什么电池健康度会降低呢?是怎么回事?很多人平时习惯边看视频边充电,还经常电池自动关机了才想起给手机充电,其实这样的使用习惯是很容易损耗手机电池的,下面我们一做不到就解散团队全员离职,一加10Pro背后的故事如今距离一加10Pro发布已经有一段时间了,一加10Pro在当下芯片有较多不可控因素情况下的市场表现还算不错。HyperBoost全链路游戏稳帧技术的实际体验效果也非常好了,但鲜少
您的专属健康管家,华硕VivoWatchSP健康表2震撼上市随着科技的发展,人们对于智能手表等可穿戴设备的需求,也不仅限于看时间记录运动步数等简单的信息呈现了心率血氧脉搏指数睡眠状态运动追踪等健康监测功能,逐渐成为智能化可穿戴设备的必备功能中央空调比挂机好在哪里随着空调的普及,市面上的空调种类越来越多,让许多家里在装修的朋友们挑花了眼。其中中央空调和壁挂式空调是最受欢迎的空调产品了。那么中央空调比壁挂式空调好在哪里呢?首先在节能方面,一般苹果iPhone13系列4款机型详细参数曝光,看看哪款才是你的最爱?根据之前曝光的消息,苹果2021年新款iPhone手机iPhone13系列手机将于9月中旬发布,随着发布时间的逼近,iPhone13系列手机的各项功能和设计都越来越明朗,目前iPh如果微信从下月开始收费,每月10元,你还会用吗?如果收费了就不用了!会选择其他的应用软件使用!能够方便联系沟通就可以了!在微信收费时期相信好多用户都会选择不用!选择其他生活平台,它会失去一大批用户,也就失去自己的很多资源!在这收四款年度旗舰机型大集合,全面总结优缺点在2021年各家手机厂商旗舰机型众多,如果预算方面充足的用户可以按照自己的需求考虑目前四款最佳机型。接下来看下这几款机型的缺点以及优点。最值得期待的iPhone13每一代的iPho巴掌大的单反相机佳能EOS200D2,拍出最美的自己智能手机的摄影能力不断进化,让很多人已经渐渐忘记单反相机的存在了。说实话日常拍照确实拿着一个手机就完全够用了,但是如果想要更好的拍照画质单反相机还是无法取代的。只不过便携性是目前单华为路由AX3Pro更新改用高通双核芯片近日,华为公布了新一代AX3Pro路由器,这款产品此前搭载华为自研的凌霄四核1。4GHz处理器,新版现已更换为高通双核1GHz处理器,设备代号也从WS7200更改为WS7206,首方正设计元素重出江湖?小米11Ultra领衔,vivo将发布同类产品这些年,见惯了各种圆润和纤薄元素的手机设计,你是否也开始怀念那些拥有方正外观设计的产品?来,这里汇总了三款类似机型给你!最近,看到了即将要在本月发布的vivo新一代旗舰手机vivo现在的华为手机,有多少是国产化?最新的华为P50系列是目前使用本国囯产零部件率最高的手机,即使美国的苹果手机韩国的三星手机也比不过华为手机使用本国零部件的国产率。这个问题描述不清楚。第一,范围不清楚,现在的华为手你下载了国家反诈app了吗?国家反诈中心APP是保护广大市民财产安全的一件盔甲,其预警功能可自动识别诈骗来电短信APP并进行无感阻断当遇到疑似诈骗的情况可利用其迅速举报一旦不幸被骗,也能第一时间在国家反诈中心纯电车6连冠北汽新能源,2020下滑82。8,2021上半年持续下滑52。6说起北汽新能源,在C端消费市场一直不温不火,但在B端市场,凭借北汽集团良好的政府合作关系,以及北汽集团旗下出租车公共出行租赁公司兄弟单位支持,北汽新能源在B端市场可谓是大放异彩。从