美文网首页
Docker File

Docker File

作者: Plenari | 来源:发表于2019-09-28 11:02 被阅读0次

    1、FROM

    • 用法:
    FROM <image>
    或者:
    FROM <image>:<tag>
    

    通过 FROM 指定的镜像,可以是任何有效的基础镜像。FROM 有以下限制:

    FROM 必须 是 Dockerfile 中第一条非注释命令
    在一个 Dockerfile 文件中创建多个镜像时,FROM 可以多次出现。只需在每个新命令 FROM 之前,记录提交上次的镜像 ID。

    2、Run

    #shell格式
    RUN <command>
    
    #exec格式
    RUN ["executable", "param1", "param2"]
    
    

    RUN 指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定 --no-cache 参数,如: docker build --no-cache。

    3、COPY & ADD

    COPY <源路径>... <目标路径>
    
    COPY ["<源路径1>",... "<目标路径>"]
    
    ADD <源路径>... <目标路径>
    
    ADD ["<源路径>",... "<目标路径>"]
    

    ADD 可以下载网络资源

    4、ENV

    ENV <key> <value>
    ENV <key1>=<value1> <key2>=<value2>...
    
    * FOR EXAMPLE:
    ENV VERSION=1.0 DEBUG=on \
     NAME="Happy Feet"
    

    5、EXPOSE

    EXPOSE <port> [<port>...]
    

    暴露端口

    6、VOLUME

    VOLUME ["/data"]
    

    没有容器使用卷,就会消失,那还不如用-v 挂

    7、WORKDIR

    WORKDIR /path/to/workdir
    

    工作目录。使用docker run -w覆盖。

    8、CMD

    CMD ["executable","param1","param2"]
    CMD ["param1","param2"]
    CMD command param1 param2
    

    9、LABEL

    LABEL version="1.0" description="这是一个Web服务器" by="IT笔录"
    
    • docker inspect image-name查询

    10、others

    docker diff 容器名字 可以看到改变。
    docker build -f path . 指定dockerfile
    docekr build -t images:tag . # 指定输出标签

    11、一个例子。

    ## Dockerfile文件格式
    # This dockerfile uses the ubuntu image
    # VERSION 2 - EDITION 1
    # Author: docker_user
    # Command format: Instruction [arguments / command] ..
    # 1、第一行必须指定 基础镜像信息
    FROM ubuntu
    # 2、维护者信息
    MAINTAINER docker_user docker_user@email.com
    # 3、镜像操作指令
    RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe">>/etc/apt/sources.list
    RUN apt-get update && apt-get install -y nginx
    RUN echo "\ndaemon off;">>/etc/nginx/nginx.conf
    

    参考

    Dockerfile 命令详解

    相关文章

      网友评论

          本文标题:Docker File

          本文链接:https://www.haomeiwen.com/subject/gnvzuctx.html