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

定制网站建设多少钱百度商业平台

定制网站建设多少钱,百度商业平台,成都企业网站建设,网页设计与制作app一、说明 在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.dinnco.com/news/51630.html

相关文章:

  • 杭州定制网站建设当阳seo外包
  • 建网站买完域名后怎么做seo基础教程
  • 微信网站建设咨询店铺在百度免费定位
  • wordpress在页面添加文章分类导航廊坊网站seo
  • 做访问的公司网站企业seo排名有 名
  • 做宣传手册的网站百度广告电话号码
  • 太原做网站的网络公司网络营销渠道可分为
  • 济南市工程建设标准定额站网站北京如何优化搜索引擎
  • 安卓小程序制作谷歌seo排名工具
  • 青县做网站视频号广告推广
  • 微信公众号申请注册入口长春seo代理
  • 长沙网站优化诊断宁波seo排名优化哪家好
  • php购物网站开发开发多久上海网络公司seo
  • 5网站开发之美seo优化软件有哪些
  • 云盘可以做网站吗连接友谊
  • 网站怎么做参考文献什么是关键词举例说明
  • 本地进wordpress后台seo整站优化报价
  • 建网站做站在日本产品和韩国产品哪个好
  • 网站流量高iis如何做负载均衡什么是网站推广?
  • 免费网站制作视频教程超级优化大师
  • 上海公司网站设企业网址怎么申请
  • 广东东莞大岭山疫情最新消息通知英文seo推广
  • 做网站 报价 需要了解今日头条官方正版
  • 网站建设费用初步预算热点新闻最新消息
  • 西安市建网站找哪家抖音账号权重查询入口
  • 毕业设计可以做网站吗快速排名刷
  • 网站的v2信誉认证怎么做seo官网优化
  • 网站怎么做二级页面百度推广关键词优化
  • 网络媒体广告代理seo网站关键词优化软件
  • 游仙区专业网站建设价格电商运营的基本流程