dockerfile 指令与.dockerignore

  1. .dockerignore文件

  2. dockerfile文件格式

  3. dockerfile常用指令

 


  • .dockerignore 忽略文件夹


    # comment注释
    */temp* 忽略以temp开头的二级目录
    */*/temp* 忽略以temp开头的任意层级子目录
    temp? 忽略以temp开头的当前目录中目录
    
  • dockerfile文件格式


    #Comment注释
    INSTRUCTION argument指令 参数
    
  • FROM 第一条非注释指令,指定基础镜像


    FROM <image>
    FROM <image>:<tag>
    
  • MAINTAINER 指定镜像作者信息(姓名、联系),类似于git -m

  • RUN 指定构建镜像时当前镜像层运行的命令,每次RUN都会在当前镜像层基础上创建一个新镜像层作为下一层

    1.shell模式
    
    RUN <command>,如 RUN echo "hello"
    
    2.exec模式
    
    RUN ["executable", "param1", "param2"], 如 RUN ["bin/bash", "echo", "hello"]
    
  • EXPOSE 指定镜像对外暴露的端口,也可以在docker命令行运行镜像时通过-p参数暴露端口


    EXPOSE <port>
    
  • CMD 提供容器运行的默认行为命令,或者提供 ENTRYPOINT 指令运行的默认参数,可被docker命令行参数-g覆盖


    1.shell模式
    2.exec模式
    3.CMD ["param1", "param2"]
    
  • ENTRYPOINT 同CMD,但是不会被docker命令行参数-g覆盖

  • ADD 复制文件,包含类似tar的解压缩功能;文件可以是本地或远程的,源路径需为dockerfile相对路径,目标路径须为绝对路径

    ADD src dst
    ADD ["src", "dst"]
    
  • COPY 单纯复制文件


    用法同ADD
    
  • VOLUME 向容器添加卷,一个卷可以是存在一个或多个容器的特定目录(联合文件系统),用于共享数据或数据持久化


    VOLUME ["/data"]
    
  • WORKDIR 在容器内部设置指令的工作目录


    WORKDIR /path/to/workdir
    
  • ENV 设置环境变量,构建过程与运行过程都有效


    ENV <key> <value>
    ENV <key>=<value>
    
  • USER 指定镜像以什么用户运行,默认root用户


    USER user           USER uid
    USER user:group     USER uid:gid
    USER user:gid       USER uid:group
    
  • ONBUILD 为镜像添加触发器,当一个镜像被用作其他镜像的基础镜像时会被执行,会在子镜像被构建时插入指令


    给镜像A指定ONBUILD后,若镜像B以A为基础镜像,则在B构建时A中ONBUILD行会执行
    
  •  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值