• 【Docker】Docker File


    一、概念

    Dockerfile 是用来构建Docker镜像的文本文件,是由一条条构建所需的指令的参数构成的脚本。
    https://docs.docker.com/engine/reference/duilder

    二、构建步骤

    <1>编写Dockerfile文件
    <2>docker build命令构建镜像
    <3>docker run 命令构建镜像

    三、Docker File 构建过程解析

    <1>Dockerfile 内容基础知识

    1. 每条保留字指令都必须大写字母且后边要跟随至少一个参数
    2. 指令按照从上到下顺序执行
    3. 表示注释

    4. 每条指令都创建一个新的镜像层,并对镜像进行提交

    <2> Dockerfile执行大致流程

    1. docker从基础镜像运行一个容器
    2. 执行一条指令并对容器做出修改
    3. 执行类似docker commit的操作提交一个新的镜像层
    4. docker再基于刚提交的镜像运行一个新的容器
    5. 执行dockerfile中的下一条指令直到所有指令都执行完成

    <3>总结

    1. Dockerfile 、Docker镜像、Docker容器代表软件的三个不同阶段
    2. Dockerfile 是软件的原材料
    3. Docker镜像是软件的交付品
    4. Docker容器则是可以认为是软件镜像的运行态,也即依照镜像运行的容器实力
    5. Docker file 面向开发, Docker镜像成为交付标准,Docker容器则设计部署与运维,三者缺一不可,合理充当Docker体系的基石
      在这里插入图片描述

    四、Docker File保留字简介

    <1>FROM

    基础镜像,当前新镜像是基于那个镜像,指定一个已经存在的镜像作为模板,第一条必须是from

    <2>MAINTAINER

    镜像维护者的姓名和邮箱

    <3>RUN
    1. 容器构建时需要运行的命令
    2. 两种格式

    shell格式
    在这里插入图片描述
    exec格式
    在这里插入图片描述

    1. RUN是在dockerbuild时运行
    <4>EXPOSE

    当前容器对外暴露出的端口

    <5>WORKDIR

    指定在容器创建后,终端默认登录的进来工作目录,一个落脚点

    <6>USER

    指定该镜像以什么用户去执行,如果不指定,默认是root

    <7>ENV

    用来在构建镜像过程中设置环境变量
    在这里插入图片描述

    <8>ADD

    将宿主机目录下的文件拷贝到镜像且会自动处理URL和解压tar压缩包

    <9>COPY

    类似ADD,拷贝文件和目录到镜像中
    将从构建上下文目录中<源路径>的文件/目录 复制到新的一层的镜像内的<目标路径>位置
    在这里插入图片描述

    <10> VOLUME

    荣期数据卷,用于数据保存和持久化工作

    <11>CMD

    在这里插入图片描述

    1. 指定容器启动后要干的事情
    2. Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
    3. CMD是在docker run时运行
      RUN是在docker build 时运行
    <12>ENTRYPOINT
    1. 也是一个用来指定一个容器启动时要运行的命令
    2. 类似于CMD指令,但是TNTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当作参数送给ENTRYPOINT指令指定的程序
  • 相关阅读:
    Docker 安装Minio
    uniapp app 导出excel 表格
    设计模式-拦截过滤器模式
    企业无线架构——旁挂式组网
    生成 MySQL 删除索引、创建索引、分析表的 SQL 语句
    迅为i.MX8M开发板yocto系统使用Gstarwmr视频转换
    记一次cpu飙升问题排查
    侯捷 C++ STL标准库和泛型编程 —— 6 算法 + 7 仿函数
    解密高性能查询!小米亲授:如何轻松查出1000条数据的后十条前7条?
    postgresql14-用户与角色(二)
  • 原文地址:https://blog.csdn.net/qq_42000631/article/details/126304052