欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

Docker执行DockerFile构建过程指令解析

时间:2025-12-21 07:30:02|栏目:其它服务器|点击:

目录
  • DockerFile 简介
    • DockerFile 构建过程
  • DockerFile 指令解析
    • DockerFile 案例演示
      • 构建一个 mycentos 镜像

    DockerFile 简介

    镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么那些无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。

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

    DockerFile 构建过程

    1.DockerFile 内容基础知识

    • 每条保留字指令都必须为大写字母且后面要跟随至少一个参数
    • 指令按照从上到下,顺序执行
    • #表示注释
    • 每条指令都会创建一个新的镜像层,并对镜像进行提交

    2、Docker 执行 DockerFile 的大致流程

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

    3、总结

    从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段

    DockerFile:是软件的原材料

    Docker 镜像:是软件的交付品

    Docker 容器:可以认为是软件的运行态

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

    DockerFile:需要定义一个DockerFile,DockerFile定义了进程需要的一切东西。DockerFile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当应用进程需要和系统服务和内核进程打交道,这时需要考虑如何设计 namespace 的权限控制)等等

    Docker 镜像:再用 DockerFile 定义一个文件后,docker build时会产生一个 Docker 镜像,当运行 Docker 镜像时,会真正开始提供服务

    Docker 容器:容器是直接提供服务

    DockerFile 指令解析

    指令 解析
    FROM 镜像基础,当前新镜像是基于哪个镜像构建
    MAINTAINER 镜像维护者的姓名和邮箱地址
    RUN 容器构建时需要运行的命令
    EXPOSE 当前容器对外暴露出的端口
    WORKDIR 指定再创建容器后,终端默认登陆的进来工作目录,一个落脚点
    ENV 用来构建镜像过程中设置环境变量
    ADD 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
    COPY 类似ADD,拷贝文件和目录到镜像中,将从构建上下文件目录中<源路径>的文件/目录复制到新的一层镜像内的<目标路径>位置
    VOLUME 保持数据和持久化工作
    CMD 指定一个容器启动时要运行的命令,DockerFile 中可以有多个CMD 指令,但只有最后一个生效,CMD会被 docker run 之后的参数替换
    ENTRYPOINT 指定一个容器启动时要运行的命令,ENTRYPOINT 的目的和CMD 一样,都是在指定容器启动程序及参数
    ONBUILD 触发器(当别人在使用你的镜像制作新的镜像会触发一个动作)

    DockerFile 案例演示

    构建一个 mycentos 镜像

    自定义mycentos使我们自己的镜像具备,登录后的默认路径为 /test,vim编辑器

    #拉取基础镜像 centos:latest
    	[root@docker ~]# docker pull centos
    #创建工作目录 /dockerfile
    	[root@docker ~]# mkdir /mydocker
    #编写 dockerfile
    	[root@docker ~]# vim /mydocker/dockerfile_centos
    	FROM centos
    	MAINTAINER zzyy 
    

    以上就是Docker执行DockerFile构建过程指令解析的详细内容,更多关于Docker执行DockerFile构建指令的资料请关注其它相关文章!

    上一篇:教你如何获取Harbor的带tag的镜像清单

    栏    目:其它服务器

    下一篇:openstack云计算keystone组件工作流程及服务关系

    本文标题:Docker执行DockerFile构建过程指令解析

    本文地址:https://zz.feitang.co/server/32382.html

    广告投放 | 联系我们 | 版权申明

    申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:257218569 | 邮箱:257218569@qq.com

    Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号