码头工人容器的镜像文件Dockerfile的介绍

    <李>这篇文章为大家带来有关码头工人容器的镜像文件Dockerfile的详细介绍。大部分知识点都是大家经常用到的,为此分享给大家做个参考。一起跟随小编过来看看吧。

Dockerfile指令选项:
1,从
用法:从,& lt; image>
1)指定构建镜像的基础源镜像,如果本地没有指定这个镜像,则会自动从码头工人公共仓库中拉下来
2)必须是Dockerfile中非注释行的第一个命令,也就是说写一个一个Dockerfile必须从(除了注释以外)从语句开始
3)从可以在一个Dockerfile中出现多次,如果有需求在一个Dockerfile中创建多个镜像
4)如果从语句没有指定镜像的标签,则默认就使用最新的标签

2,维护者
用法:维护者& lt; name>
指定创建镜像的用户

3
跑:两种使用方式
1)
2)跑“executable"“param1",“param2"
每条运行指令是创建镜像是执行的命令,并提交为新的镜像,后续的运行都在之前运行提交后的镜像为基础,镜像是分层的,可以通过一个奖项的任何一个历史提交点来创建,类似远吗的版本控制。
执行方式会被解析为一个JSON数组,所以必须使用双引导而不是单引导.exec方式不会调用一个命令壳牌所以也就不会集成相应的变量
如:运行(“echo",“HOME"美元;),这种方式是不会达到输出家里变量的
正确的方式应该是:运行(“sh",“-c",“echo",“HOME"美元;]
运行产生的缓存在一次构建的时候是不会失效的,会被重用,可以使用,no - cache选项,即码头工人建造——no - cache,如此便不会缓存

4, CMD
CMD有三种使用方式:
1) CMD“executable"“param1",“param2"
2) CMD“param1",“param2"
3) CMD“commamd"“param1",“param2"
CMD就是容器启动时执行的命令,如果用户启动容器时指定了运行的命令,则会覆盖掉CMD指定的命令。
注:CMD指令在dockerfile中只能使用一次,如果有多个,则只有最后一个会生效
CMD的目的是为了在启动容器时提供一个默认的命令执行选项。如果用户启动容器时指定了运行的命令,则会覆盖掉CMD指定的命令
CMD会在启动容器的时候执行,建造时不执行,而只运行是在构建的时候执行,后续镜像构建完成后启动容器就与运行无关了

5,揭露
用法:暴露& lt; port>[& lt; port>…]
告诉码头工人服务端容器对外映射的本地端口,需要在码头工人跑的时候使用- p或者- p选项生效

6, ENV
ENV, & lt; key>,& lt; value>,,,,,,#这样设置只能设置一个变量
ENV, & lt; key>=& lt; value>…,,,,#这样允许写多个变量
例子:
ENV,名字=癹ohn"myDOg=雷克斯\ \狗\
字符集=蓬松
相当于
ENV名字约翰。
ENV myDOg雷克斯狗
ENV字符集毛茸茸的

7,添加
用法:添加,& lt;源地址在,& lt;目标地址在
添加复制本地主机文件,目录或者远程文件url,添加到容器指定的路径中去。
支持通过走的正则模糊匹配
例:
添加,hom *,,/mydir大敌;,,,#以hom开头的所有文件拷贝到容器中的/mydir
添加,力宏呢?。三种时间/mydir大敌;;,,,#以小宏开的头。txt结尾的所有文件拷贝到容器中的/mydir

,
复制用法:复制,& lt;源地址在,& lt;目标地址在
复制复制新文件到容器中去,并且添加到容器指定的路径中,用法和添加相同,唯一不同的是不能指定远程配置文件url

9日入境点
用法:
入口点,“executable",“param1",“param2"
入口点,命令,param1, param2(壳形式)
配置容器启动后执行的命令,并且不可被码头工人,运行提供的参数覆盖,而CMD是可以被覆盖的。如果覆盖则可以使用码头工人,运行,——入口点选项
每个dockerfile中只能有一个入口点,当指定多个时,只有最后一个生效

执行,形式,入口点,例子:
通过入口点使用Exec形式方式设置稳定的默认命令和选项,而使用CMD添加默认之外经常被改动的选项。
从ubuntu
入口点(“top",“-b"]
CMD (“-c")

通过dockerfile使用入口点展示前台运行Apache服务从debian
:
稳定运行yum更新,,yum安装httpd - y
公开80 443
卷(“/var/www/html",,/var/log/apache2",“/etc/apache2"]
入口点(“/usr/sbin/apache2ctl",“-D",“FOREGROUND"]

壳形成入口点例子:
这种方式会在/bin/sh - c中执行,会忽略任何CMD或者码头工人运行命令选项,为了确保码头工人停止能够停止长时间运行入口点的容器,确保执行的时间使用exec选项

10,
用体积法:卷,(“/data")
创建一个可以从本地主机或其他容器的挂载点

码头工人容器的镜像文件Dockerfile的介绍