当前位置: 首页 > news >正文

上海万网网站建设免费发广告帖子的网站

上海万网网站建设,免费发广告帖子的网站,音乐主题资源网站建设,外贸公司倒闭的多吗一、说明 在docker的指令下工作,似乎很简单,然而,对于复杂工程,这些初级知识是不够的。正确使用DockerFile构建镜像是必须的技能。我们这里假定您已经熟练docker的指令,我们继续上升一个台阶,如何用build和…

一、说明

        在docker的指令下工作,似乎很简单,然而,对于复杂工程,这些初级知识是不够的。正确使用DockerFile构建镜像是必须的技能。我们这里假定您已经熟练docker的指令,我们继续上升一个台阶,如何用build和dockerfile生成镜像。

二、DockerFile脚本的基本原则

  • 该指令不区分大小写。然而,约定是它们是大写的,以便更容易地将它们与参数区分开来。
  • Docker 按顺序运行 Dockerfile 中的指令。不存在分支语句。
  • Dockerfile 必须以 FROM 指令开头。这可能在解析器指令、注释和全局范围的 ARG 之后。
  • 通过一个或多个 ARG 指令,这些指令声明在 FROM 行中使用的参数文件。
  • Docker 将以 # 开头的行视为注释,除非该行是有效的解析器指令。
  • 行中其他任何位置的 # 标记都被视为参数。
# Comment
RUN echo 'we are running some # of cool things'

三、注释语句语法规则

3.1 编译中注释行视为无有

        在执行 Dockerfile 指令之前,有一个语法扫描,在此过程中删除了注释行,这意味着以下示例中的注释不是由执行 echo 命令的 shell 处理的,下面两个示例是等效的:

RUN echo hello \
# comment
world
RUN echo hello \
world

3.2 在注释语句不能续行 

        注释中不支持行续行字符“\”。比如下列语句中:

# this is an example 合理语法

# this is an \

example 

续行符号无效

四、关于空格

4.1 空格出现在语句前

        为了向后兼容,注释 (#) 和指令(如 RUN)之前的前导空格被忽略,但不鼓励这种空格行为。解释器不会保留前导空格,因此以下示例是等效的:

        # this is a comment-line
    RUN echo hello
RUN echo world
# this is a comment-line
RUN echo hello
RUN echo world

4.2 指令中间的空格

        但是请注意,指令参数中的空格(例如 RUN 之后的命令)会被保留,因此以下示例打印带有指定前导空格的“hello world”:

RUN echo "\hello\world"

五、解析器指令

5.1 语法规则

解释器指令,就是指定语法按照哪种解释器解释。它的语法规则是:

  •         解析器指令是可选的,它会影响处理 Dockerfile 中后续行的方式。
  •         解析器指令形式为#directive=value。
  •         处理完注释、空行或构建器指令后,Docker 不再查找解析器指令。相反,它会将任何格式化为解析器指令的内容视为注释,并且不会尝试验证它是否可能是解析器指令。
  •         解析器指令必须位于 Dockerfile 的最顶部。
  •         解析器指令不区分大小写。但是,约定是它们是小写的。
  •         解析器指令不支持行继续字符。

5.2 以下示例均无效 

1)不支持续行符号

# direc \
tive=value
解析器指令不支持行继续字符

2)出现两次无效

# directive=value1
# directive=value2

FROM ImageName

解析器指令不支持多条同样语句,否则忽略视为无。

3)由于出现在构建器指令之后而被视为注释:

FROM ImageName
# directive=value
必须出现在脚本第一条语句位置

4)由于出现在不是解析器指令的注释之后而被视为注释:

# About my dockerfile
# directive=value
FROM ImageName
理由同上,必须出现在脚本首部。

 5) 由于未被识别,未知指令被视为注释。

# unknowndirective=value
# knowndirective=value
单词拼写错误,被视为注释。

6)解析器指令中允许使用非换行空格。因此下列格式意义相同。

#directive=value
# directive =value
#    directive= value
# directive = value
#      dIrEcTiVe=value
空格被扫描删除,因而左栏语句相同。

5.3 支持以下解析器指令

  • syntax
  • escape

1) escape转义符号定义

一般转义符号是“\”,但是不同的操作系统可能有独立规定,因此,这里可以指定转义符号。

示例语法:

# escape=`规定转义符号 `
# escape=\规定转义符号 \

 2) 规定解释器版本

#syntax=docker/dockerfile:1用docker/dockerfile:1的解释器
#syntax=docker/dockerfile:1.2#syntax=docker/dockerfile:1.2解释器

建议:除非不得已,不要用这种解析器指令。

六、结论

        注释语句也好,解释器语句也好,都不是dockerfile的核心内容,本篇阐述它们的规则,目的有二,其一是期望在dockerfile开发中,不要犯低级错误,避免发生违规而不自知,带来不必要的麻烦。其二,对指令不熟悉,产生盲目猜测,一旦出点错,就瞎找原因。

(后续内容:DockerFile语法 2:构造指令)

http://www.hengruixuexiao.com/news/26330.html

相关文章:

  • 江西省赣州市南康家具城seo网站优化公司
  • 两个人的视频bd免费观看中国seo网站优化方案摘要
  • 口碑好的秦皇岛网站建设哪里有seo推广关键词公司
  • 注册代理记账公司需要什么条件石家庄百度搜索优化
  • 网站的建设求职简历今天最新的新闻头条新闻
  • 百度爱采购推广效果怎么样?厦门seo排名优化
  • 湖南省建设厅城乡建设网站可以看国外网站的浏览app
  • 欧洲手表网站seo博客大全
  • 商业网站建设教程江东seo做关键词优化
  • 深圳做网站商搜索竞价托管
  • 昆明做整站优化阿里云com域名注册
  • php交友网站开发实例国内外十大免费crm软件推荐
  • 做网站签订合同兔子bt樱桃搜索磁力天堂
  • 高端网站建设深圳全网推广效果如何
  • 网站首页倒计时功能怎么做友情链接多少钱一个
  • 公网ip做网站访问不厦门人才网597人才网
  • 网站推广方案途径商丘seo教程
  • 宝鸡营销型网站建设宁波seo网站服务
  • 赣州市建设工程造价管理网站免费做网站怎么做网站链接
  • wordpress 文章 路径seo关键字优化
  • 山西网站建设鸣蝉百度app手机版
  • 做门户类网站报价武汉网络推广
  • 淘宝上做网站建设靠谱吗孝感seo
  • 如何建立p2p网站2020年百度搜索排名
  • 产品介绍网站设计怎么做seo交流
  • 临朐网站制作哪家好宝鸡seo优化公司
  • wordpress主题加密seo软件推广
  • 怀柔做网站的公司网络营销专业技能
  • 如何做和别人一样的网站做推广的公司一般都叫什么
  • 韩国封号事件网站建设湖北最新消息