• dockerfile常用命令解析


    FROM

    基础镜像,FROM 命令必须是 Dockerfile 的首个命令

    也就是继承哪个镜像

    LABEL

    为镜像生成元数据标签信息

    原有指令 MAINTAINER 已经放弃使用,用 LABEL maintainer="你的邮箱" 替代

    USER

    指定运行容器时的用户名或 UID,后续 RUN 也会使用指定用户

    VOLUME

    定义匿名卷,容器运行时应该尽量保持容器存储层不发生写操作,为了防止运行时用户忘记将动态文件保存的目录挂载为卷,可以事先指定某些目录挂载为匿名卷。这样就不会向容器存储层写入大量数据

    WORKDIR

    用于设置 CMD 指明的命令的运行目录

    为后续的 RUN、CMD、ENTRYPOINT、ADD 指令配置工作目录。可以使用多个 WORKDIR 指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径。使用 docker exec -it 进入容器后,默认也会进入到 WORKDIR 指定的目录

    容器启动时的⼯作⽬录

    ENV

    指定容器启动时的环境变量(注意,只有在容器启动时,启动脚本能读取到,如果希望其他用户登录到容器也生效的话,需要写入 .bashrc)

    设置镜像内的环境变量

    COPY

    COPY 命令有两个参数,源和目标。它的基本作用是从源系统的文件系统上复制文件到目标容器的文件系统

    EXPOSE

    指定端口转发

    CMD

    设置容器创建是执行的默认命令

    支持三种格式,默认会被 docker run 指定的参数覆盖。每个容器只能执行一条 CMD 命令。执行的命令和参数当指定多个时,只有最后一个起效

    • CMD [“executable”, “参数1”,“参数2”]:使用 exec 方式执行,推荐
    • CMD command 参数1 参数2:shell 方式执行
    • CMD [“参数1”,“参数2”]:提供给 ENTRYPOINT 做默认参数

    启动容器时执行的shell命令

    ENTRYPOINT

    指定容器的“入口”

    支持两种格式,默认不会被 docker run 指定的参数覆盖。可以指定 --entrypoint 参数去覆盖。每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效

    • ENTRYPOINT [“executable”, “参数1”,“参数2”]:使用 exec 方式执行
    • 推荐 - ENTRYPOINT command 参数1 参数2:shell 方式执行

    指定容器启动脚本

    HEALTHCHECK

    Docker 1.12版本后引入的判断容器运行状态是否正常

     ADD 

    将⼯作⽬录下的某个⽬录或者⽂件copy到镜像的某个路径下

    ARG

    构建环境的环境变量

    RUN

    RUN 命令是 Dockerfile 执行命令的核心部分。它接受命令作为参数并用于创建镜像。每条 RUN 命令在当前基础镜像上执行,并且会提交一个新镜像
    执⾏shell 命令
     
     

    延伸

    COPY和ADD的区别

     
     
  • 相关阅读:
    ASP.NET 2.0 中的主版頁面 Master Pages
    初探ERP的数据库框架
    node.js 入门,
    mysql 测试
    zendframework 内置view
    session.save_Handler
    读mysql技术内幕 InnoDB 第三章
    php 的命名空间 看鸟哥后的随笔
    mysql innodb技术内幕 ~读 1,2,3 复习
    php 无乱码截取中文
  • 原文地址:https://www.cnblogs.com/Durant0420/p/15486849.html
Copyright © 2020-2023  润新知