• docker


    FROM

    指定基础镜像,也就是作为父镜像,FROM <镜像名:tag>,如FROM nginx

    MAINTAINER

    说明镜像维护者的信息,MAINTAINER <作者> <邮箱>

    RUN

    镜像构建中执行的命令(docker build),RUN <command>,如RUN sudo apt-get update && sudo apt-get install -y nginx

    CMD

    和RUN命令用法一致,RUN是在镜像构建中执行命令,CMD是在容器运行时执行命令(docker run),如果在docker run时指定了需要执行的命令,则会覆盖CMD

    ENTRYPOINT

    ENTRYPOINT和CMD非常相似,都是在容器运行时执行命令,但是在docker run时指定了需要执行的命令,不会覆盖CMD,除非指定了--entrypoint参数,每个 Dockerfile 中只能有一个ENTRYPOINT,当指定多个时,只有最后一个起效

    EXPOSE

    指定需要映射的端口,EXPOSE <port> [<port> ...],如EXPOSE 80 443

    ADD

    复制文件到docker容器中,ADD <src> <dest>,src可以是URL,如果src是tar压缩包会自动进行解压缩

    COPY

    COPY和ADD相似,COPY只能复制文件和文件夹

    VOLUME

    可以将本地文件夹挂载到container中,如VOLUME /dataVOLUME /datadocker run -v /data是等价的,需要说明的是使用-v参数的时候可以指定宿主机挂载到容器中目录位置(即-v /data:/data),而使用VOLUME是无法做到的。关于对VOLUME的深入理解可以参考这篇博文 深入理解 Docker Volume

    WORKDIR

    设置工作目录,RUN,CMD和ENTERPOINT在该工作目录下执行,可以将WORKDIR理解为cd命令,如WORKDIR ~/website

    ENV

    指定环境变量,如ENV DB_HOST 127.0.0.1

    USER

    指定用户,USER <用户名或用户ID>:<组名或组ID>,USER helbingUSER mysql:db,如果不指定USER则默认使用root用户

    ONBUILD

    ONBUILD指定的命令在构建镜像时并不执行,而是在它的子镜像构建时执行,如ONBUILD RUN sudo apt-get update && sudo apt-get install -y nginx

  • 相关阅读:
    [置顶] 搭建一个流媒体服务器引子
    Exchange Server 2007 常见问题解答(6)
    [置顶] 第九周项目1
    iOS 6应用开发实战
    hdu 1722(数论)
    js二维数组排序
    HDU 4027 线段树 Can you answer these queries?
    Socket编程指南及示例程序
    Spring攻略学习笔记(2.13)解析文本消息
    线性渐变lineargradient和滤镜opacity/filter的透明效果兼容性解决方案及其RGB/RGBA与16进制转换方法
  • 原文地址:https://www.cnblogs.com/helbing/p/5558200.html
Copyright © 2020-2023  润新知