客快物流大数据项目(十四):DockerFile介绍与构建过程解析

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客快物流大数据项目(十四):DockerFile介绍与构建过程解析相关的知识,希望对你有一定的参考价值。

目录

DockerFile介绍与构建过程解析

一、什么是Dockerfile

1、介绍

2、Dockerfile构建步骤

3、​​​​​​​Dockerfile文件内容

二、​​​​​​​DockerFile构建过程解析

​​​​​​​1、Dockerfile内容基础知识

2、Docker执行Dockerfile的大致流程​​​​​​​

3、​​​​​​​总结


DockerFile介绍与构建过程解析

一、什么是Dockerfile

1、介绍

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像

  • 对于开发人员:可以为开发团队提供一个完全一致的开发环境
  • 对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作
  • 对于运维人员:在部署时,可以实现应用的无缝移植

2、​​​​​​​Dockerfile构建步骤

  • 编写Dockerfile文件
  • docker build
  • docker run

3、​​​​​​​Dockerfile文件内容

以熟悉的centos为例:

Docker Hub

 

 

二、​​​​​​​DockerFile构建过程解析

​​​​​​​1、Dockerfile内容基础知识

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

 

2、Docker执行Dockerfile的大致流程

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

3、​​​​​​​总结

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

  • Dockerfile是软件的原材料
  • Docker镜像是软件的交付品
  • Docker容器则可以认为是软件的运行状态。

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

 

  • Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当应用进程需要和系统服务和内核进程打交道,这时需要考虑如何设计namespace的权限控制)等等;
  • Docker镜像,在用Dockerfile定义一个文件之后,docker build时会产生一个Docker镜像,当运行 Docker镜像时,会真正开始提供服务;
  • Docker容器,容器是直接提供服务的。

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢大数据系列文章会每天更新,停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于客快物流大数据项目(十四):DockerFile介绍与构建过程解析的主要内容,如果未能解决你的问题,请参考以下文章

客快物流大数据项目(六十四):运单主题

客快物流大数据项目(九十四):ClickHouse的SummingMergeTree深入了解

客快物流大数据项目(四十四):Spark操作Kudu创建表

客快物流大数据项目(八十四):Impala优化

客快物流大数据项目(六十四):运单主题

客快物流大数据项目(十七):自定义镜像mycentos