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
    
    
原文地址:https://www.cnblogs.com/scajy/p/13807313.html