前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >客快物流大数据项目(十四):DockerFile介绍与构建过程解析

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

作者头像
Lansonli
发布2022-01-05 14:13:11
2850
发布2022-01-05 14:13:11
举报
文章被收录于专栏:Lansonli技术博客

目录

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、​​​​​​​总结

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

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

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

  • Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当应用进程需要和系统服务和内核进程打交道,这时需要考虑如何设计namespace的权限控制)等等;
  • Docker镜像,在用Dockerfile定义一个文件之后,docker build时会产生一个Docker镜像,当运行 Docker镜像时,会真正开始提供服务;
  • Docker容器,容器是直接提供服务的。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/01/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DockerFile介绍与构建过程解析
    • 一、什么是Dockerfile
      • 1、介绍
      • 2、​​​​​​​Dockerfile构建步骤
      • 3、​​​​​​​Dockerfile文件内容
    • 二、​​​​​​​DockerFile构建过程解析
      • ​​​​​​​1、Dockerfile内容基础知识
      • 2、Docker执行Dockerfile的大致流程
      • 3、​​​​​​​总结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档