docker--dockerfile

dockerfile的构建过程

从基础镜像构建一个容器
执行一条指令,对容器作出修改
执行相似docker commit 的操做
再基于刚提交的镜像运行一个新容器
执行Dockerfile中下一条指令,直至全部的指令执行完毕

form

form <image>
form <image>:<tag>
form指令必须是第一条非注释的指令
maintainer
maintainer <name> 
指定镜像的做者信息,包含镜像的全部者和联系信息  //这个是否是要不要都行啊,要这个有鸟用啊

run

run <command> (shell模式)   //默认的/bin/bash
run ["executable","param1","param2"]  (exec模式)
run ["/bin/bash","-c","echo hello"]

expose

expose <port> [<port>]
//这个expose并不会再执行的时候自动打开相应的端口,这个只是告诉程序员,应该用这个端口来运行,擦

cmd

提供容器启动时执行的默认命令
cmd ["executable","param1","param2"] (exec模式)
cmd command param1 param2 (shell模式)
cmd ["param1","param2"](做为entrypoint指令的默认参数)
cmd指令用于执行容器执行的默认行为,若是docker run的时候使用了其余指令,那么cmd命令会被覆盖

enterypoint

entrypoint ["executable","param1","param2"] (exec模式)
entrypoint command param1 param2 (shell模式)
entrypoint的命令不会被docker run的启动命令覆盖,可是能够使用docker run --entrypoint进行覆盖

volume

volume["/data"] 向docker建立的容器添加卷,这个卷能够跳过联合文件系统,提供共享数据,或数据持久化的功能

workdir

再容器的内部默认工做目录,cmd等命令会再这个路径下执行命令,workdir一般会使用绝对路径,若是使用了相对路径,那么工做路径会一直传递下去程序员

env

env <key><value>
env <key>=<value>

user

user daemon 用户会以一个什么身份取运行

onbuild 镜像触发器

onbuild[instruction]
当一个 镜像被其余镜像做为基础镜像时执行(要充分理解这句话)
会在构建过程当中插入指令
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息