zoukankan      html  css  js  c++  java
  • Dockerfile-常用指令及使用

    Dockerfile常用指令及使用

    1. dockerfile介绍

    2. Dockerfile常用指令

    指令 描述
    FROM 构建新镜像是基于哪个镜像
    MAINTAINER 进行维护者姓名或邮箱地址
    RUN 构建镜像时运行的shell命令
    ENV 设置环境变量
    USER 为RUN、CMD和ENTRYPOINT执行命令指定运行用户
    EXPOSE 声明容器运行的服务端口
    HEALTHCHECK 容器中服务器健康检查
    WORKDIR 为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录
    ENTRYPOINT 运行容器时执行,如果有多个CMD指令,最后一个生效
    CMD 运行容器时执行,如果有多个CMD指令,最后一个生效
    ADD 添加文件包或文件,带有解压的功能
    COPY 单纯复制文件,或文件夹
    LABEL 标签

    2.1 FROM指令

    • 基本语法

      FROM <image>
      FROM <image>:<tag>
      
    • 使用案例

      # base image
      FROM centos
      

    2.2 MAINTAINER指令

    • 基本语法

      MAINTAINER <name>
      
    • 使用案例

      # MAINTAINER
      MAINTAINER shichao@scajy.cn
      

    2.3 run指令

    • 基本语法

      run  <要执行的命令>
      run <command>  (shell模式)
      run [ "executable", "param1", "param2"  ]  (exec模式)
      
    • 使用案例

      run <command>  (shell模式)
      	/bin/sh -c command 
      	CMD /bin/sh -c 'nginx -g "daemon off;"'
      run [ "executable", "param1", "param2"  ]  (exec模式)
      run ["/bin/bash" , "-c", "nginx -g daemon off" ]
      

    2.4 expose指令

    • 基本语法

      expose <prot> [<port>...]
      
    • 使用案例

      EXPOSE 80
      

    2.5 cmd命令

    • 基本语法

      cmd [ "executable" , "param1" , "param2"  ] (exec模式)
      cmd command param1 param2 (shell模式)
      
    • 使用案例

      CMD /bin/sh -c 'nginx -g "daemon off;"'
      

    2.6 entrypoint指令

    • 基本语法

      cmd [ "executable" , "param1" , "param2"  ] (exec模式)
      cmd command param1 param2 (shell模式)
      
    • 使用案例

      ENTRYPOINT ["nginx"]
      

    2.7 ADD指令

    • 基本语法

      ADD <"src"> ...<dest>
      ADD["<src>"..."<dest>"] (适用于文件路径中有空格的情况)
      		
      COPY <src>...<dest>
      COPY [ "<src>"..."<dest>" ] (适用于文件路径中有空格的情况)
      
    • 使用案例

      ADD nginx-1.12.2.tar.gz /usr/local/src
      
      COPY index.html /usr/local/nginx/html/
      
      
      #执行结果
      [root@1-230 nginx]# curl 192.168.0.230:8082
      ni hao yello
      

    2.8 VOLUME指令

    • 基本语法

      volume ["/data"]
      

    2.9 workdir指令

    • 基本语法

      WORKDIR /path/to/workdir
      
    • 使用案例

      # change dir to /usr/local/src/nginx-1.12.2
      WORKDIR /usr/local/src/nginx-1.12.2
      

    2.10 user指令

    • 基本语法

      USER NGINX
      USER user                    USER uid
      USER user:group              USER uid:gid
      USER user:gid                user uid:group
      

    2.11 ONBUILD指令

    • 基本语法

      ONBUILD [INSTRUCTION]
      

    3. 构建镜像

    • docker build镜像

      	Usege:docker  build [OPTIONS]  PATH |  URL  | - [flags]
      	OPTIONS:
      	        -t:--tag list   #镜像名称
      	        -f:--flie  string     #指定dockerfile文件位置
      	
      	案例:
      	        docker    build  .
      	        docker    build    -t  test/v1   .
      	        docker    build   -t   test/v1   -f /path/Dockerfile 
      	        docker    build   -t  test/v1   http://xxxx.example.com/Dockerfile
      
      
  • 相关阅读:
    罗马数字转换成整数
    整数转换成罗马数字
    hdu 5050 大数
    hdu 5051 找规律?+大trick
    hdu 5055
    hdu 5054
    hdu 5058 set应用
    hdu 5056 所有字母数都<=k的子串数目
    hdu 5059 简单字符串处理
    hdu 5060 五种情况求圆柱体与球体交
  • 原文地址:https://www.cnblogs.com/scajy/p/13807313.html
Copyright © 2011-2022 走看看