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
      
      
  • 相关阅读:
    第三章节 BJROBOT 角速度校正 【ROS全开源阿克曼转向智能网联无人驾驶车】
    第二章节 BJROBOT IMU 自动校正 【ROS全开源阿克曼转向智能网联无人驾驶车】
    【扩展】链式编程初识
    【扩展】随机数
    一、.Net基础【1.5】封装MessageBox
    一、.Net基础【1.4】不引入第三变量,交换两个变量的值
    一、.Net基础【1.3】AndAlso & OrElse Operators in C#短路运算符
    一、.Net基础【1.2】变量和数据类型
    一、.Net基础【1.0】入门
    ArcGIS Desktop 10.X 复习与提高【1.1】ArcGIS数据格式的介绍 Esri
  • 原文地址:https://www.cnblogs.com/scajy/p/13807313.html
Copyright © 2011-2022 走看看