DockerFile解析

⒈是什么?

  DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本文件。

⒉步骤

  ①手动编写一个符合规范的DockerFile文件(编写)

  ②使用docker build执行这个文件生成自定义镜像(构建)

  ③docker run(执行)

*

  DockerFile  =》  软件原材料

  Docker镜像  =》  软件交付品

  Docker容器  =》  软件运行态

DockerFile面向开发,Docker镜像成为交付标准,Docker容器则设计部署与运维,三者缺一不可,合力充当Docker体系的基石。

  

⒊Docker执行DockerFile的大致流程

  ①Docker从基础镜像运行一个容器

  ②执行一条执行并对容器作出修改

  ③执行类似docker commit的操作提交一个新的镜像层

  ④Docker再基于刚提交的镜像运行一个新容器

  ⑤执行DockerFile中的下一条执行直到所有指令全部执行完成

⒋指令

  ⒈FROM

    基础镜像,当前新镜像是基于那个镜像的。

  ⒉MAINTAINER

    镜像维护者的姓名和邮箱地址

  ⒊RUN

    容器构建时需要运行的命令

  ⒋EXPOSE

    当前容器对外暴漏的端口号

  ⒌WORKDIR

    指定在创建容器后,终端默认登陆进来的工作目录

  ⒍ENV

    用来在构建镜像过程中设置环境变量

  ⒎ADD

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

  ⒏COPY

    类似ADD指令,拷贝文件和目录到镜像中,没有下一步操作,不会解压等。

  ⒐VOLUME

    容器数据卷,用于数据保存和持久化工作

  ⒑CMD

    指定一个容器启动时要运行的命令

    DockerFile中可以有多个CMD指令,但只有最后一个会生效

    CMD指令会被docker run之后的参数替换

  ⒒ENTRYPOINT

    指定一个容器启动时要运行的命令

  ⒓ONBUILD

    当构建一个被继承的DockerFile时运行命令,父镜像在被子继承后父镜像的ONBUILD指令将被触发

⒌指令相关

  ①每条指令必须为大写字母且后面至少跟随一个参数

  ②指令按照从上到下,顺序执行

  ③#表示注释

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

 ⒍如何构建?

  docker build -f [DockerFile的绝对路径] -t 镜像名称:版本号

⒎Docker父镜像

  Base镜像(scratch),父镜像,基镜像,相当于C#/Java中的Object类,99%的镜像都是通过Base镜像构建出来的。

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/10443131.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(373)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示