戳蓝字“CSDN云计算”关注我们哦!


作者:channingbreeze

文章转载自程序员乔戈里

话说小史已经接受了A厂的offer,这不,已经在公司附近租好了房子,准备搬家过去住了。

家里的东西真是多呀,小史的很多家具都是组装起来的,现在都已经拆散放到吕老师的车上了。

就这样,吕老师开车带着小史一起去了公司附近的新住址。

开了一个多小时,终于到了新住址。一进房间,小史就忙着把心爱的电脑桌拼起来。

但是电脑桌拆起来快,装起来可不好装,几十个组件,一百多个螺丝钉,小史装了一下午,最后还发现少了几个螺丝钉。

【晚饭】

晚上,小史和吕老师一起吃饭。

【吕老师前传】

吕老师以前还是程序员的时候,在B厂上班,有一次一个新项目要发布上线。结果测试环境跑得好好的,生产环境死活跑不起来。

【docker有啥好】

小史:docker我用过,不过当时是因为视频教程里用的docker部署的环境,所以我也就跟着做了,其实反而觉得更麻烦了,它到底哪里好呢?

吕老师:这方面docker做了很多事情,比如提供了基础镜像的方式,docker官方的镜像仓库里有很多镜像,可以直接拉下来用,然后新的镜像可以以它们为基础,在上面commit新的东西。

吕老师:同时,docker使用了镜像分层的技术,新的commit会产生新的层,可以复用一部分老的层。这样一来制作新镜像的速度还是挺快的。

小史:我明白你的意思,这样确实制作镜像的时候可以加快速度,但是假如我要把整个环境放到另外一个机器部署,还是要拷贝整个大的镜像过去吧?

【dockerfile】

吕老师:你说的对,电脑桌不拆,直接放我车上放不下,那么能不能这样,我们拆的时候,就把哪个螺丝在哪里这些细节记录好,到时候装的时候只要按照记录顺序安装就好。

吕老师:你看,就这个简单的文件。第一行它告诉你这个镜像基于ubuntu基础镜像,第二行告诉你这个镜像的维护者的信息,第三行的RUN就是要执行的shell命令,比如这里,是在ubuntu的基础镜像上安装一些额外的东西,第4行是镜像启动之后执行的初始命令。

【docker最佳实践】

吕老师:其实在网络好的情况下,下载一个镜像一般来说比重新打一个镜像更快,所以最终部署都是基于镜像去部署,不会重新打镜像了。

【docker关键概念】

吕老师:你说的没错,其实镜像有点像代码,容器有点像进程。代码是存放在硬盘上的东西,而把代码运行起来,就会形成一个进程,进程才是跑起来的程序。

小史:对,你这个比喻真是贴切,镜像和容器也是一样,镜像是存在硬盘上的东西,镜像运行起来,就形成一个容器,容器才是真正跑起来的程序。只不过在docker中,我们可以进入容器,做一些操作,然后再把容器中的改动提交形成一个新的镜像。

小史:如果说镜像是代码的话,镜像仓库就有点像github了,我们写好的代码会提交到github上面进行保存和管理,方便在其他地方也能下载代码。镜像仓库也是类似的,制作好的镜像,就把它放到镜像仓库,方便其他人直接用镜像部署。

【笔记】

聊天结束后,小史悄悄在手机中记录下了这次的笔记。

一、容器技术docker的思考方式是,将环境一起打包镜像,避免部署时的环境问题。

二、dockerfile记录镜像的制作步骤

三、镜像、容器、仓库的概念可以类比代码、进程、github

【饭后】

吃完晚饭,小史和吕老师走在大街上,望着天上的星空。

福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

推荐阅读:

  • 全面剖析企业私有云

  • 30 秒?!Chrome 插件带你速成编程学习 | 程序员硬核评测

  • 为什么程序员下班后只关显示器从不关电脑?

  • 算法警告!该图片涉嫌违规不予显示

  • 交易机器人春天已来?先看完这篇再说吧

  • 2019年中国IT市场趋势热点

  • 2019年最值得关注的五大微服务发展趋势

喜欢就点击“好看”吧

云漫圈 | 容器技术docker应用场景解析相关推荐

  1. 漫画 | 从搬家到容器技术 Docker 应用场景解析

    作者 |  channingbreeze 责编 | 仲培艺 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. 生活现场 话说小史已经接受了 A ...

  2. 企业级容器技术 Docker

    企业级容器技术 Docker docker隔离级别中包含两个核心组成: Namespace(名称空间):namespace是Linux系统的底层概念,在内核层实现,即有一些不同类型的命名空间被部署在内 ...

  3. docker实践第二版pdf 网盘_【漫画】什么是 docker?docker 应用场景解析

    郑重声明:漫画人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序.大佬除外. 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了 ...

  4. 【云原生之企业级容器技术 Docker实战一】Docker 介绍

    目录 一.Docker 介绍 1.1 容器历史 1.2 Docker 是什么 1.3 Docker 和虚拟机,物理主机 1.4 Docker 的组成 1.5 Namespace 1.6 Control ...

  5. 华为云部署K8s之容器技术.docker安装

    docker安装 安装前准备: ​ 1.禁用 selinux [SELINUX=disabled] ​ 2.卸载防火墙 [yum -y remove firewalld-*] ​ 3.docker软件 ...

  6. 第五章 云原生与容器技术

    第一节 独角兽成功秘诀 成功秘诀 ·Speed of innovation-天下武功,唯快不破 ·Always-available services-随时.随地可用 ·Web scale-从0到1,快 ...

  7. 容器技术 - docker

    文章目录 一.Docker简介 1.1 Docker诞生 1.2 Docker相关解释 1.3 Docker与传统虚拟化对比 1.4 Docker的构成 二.Docker安装 2.1 Docker的安 ...

  8. 容器技术Docker

    文章目录 一.引言 1.1 环境不一致 1.2 隔离性 1.3 弹性伸缩 1.4 学习成本 二.Docker介绍 2.1 Docker的由来 2.2 Docker的思想 三.Docker的安装 3.1 ...

  9. 【容器技术——docker管理】

    文章目录 容器是什么? Docker安装 Docker的安装方式 Docker容器管理 Docker镜像管理 镜像仓库构建 1)官方仓库构建 2)Harbor构建 Docker网络管理 1)Docke ...

最新文章

  1. 产品经理十八章:产品创新能力(二)
  2. 华为项目Tree canvas画图2
  3. 方法论:如何从0到1搭建一套完整的邀请体系
  4. Nmap的高级扫描(脚本)
  5. 一些在Android中的小设置~~~持续添加
  6. mount 需要同时设置 noatime 和 nodiratime 吗?
  7. 骨牌覆盖问题总结!hihoCoder/ NYOJ-1273宣传墙1151
  8. 能看懂vue源码什么水平_送你 Vue 学习路线的最佳实践
  9. go设置后端启动_使用 Go Wails 框架来构建桌面应用(Go+Vue.js)
  10. 一个资深系统管理员的O2O实践(引子)
  11. 我的Maven POM配置
  12. python读音有道-Python版有道翻译
  13. docker centos7_CentOS7及Docker配置中文字符集问题
  14. linux参考文献_小白爱折腾·其二:手机Linux部署DiscuzX论坛
  15. ASP.NET AJAX的客户端框架是鸡肋?
  16. 分享PHP获取客户端IP的几种不同方式
  17. 关于html转换为pdf案例的一些测试与思考
  18. WORD里表格复制到另一WORD里表格会变形的解决办法
  19. 互联网和大数据是什么意思_互联网包括大数据吗 大数据与互联网的关系是什么...
  20. securecrt 远程映射端口

热门文章

  1. c++ 操作mysql_C++操作mysql方法总结(1)
  2. selenium python下载_使用Selenium、Chrome和Python下载PDF
  3. gdb 调试_GDB调试指南-源码查看
  4. “北斗女神”徐颖:科研时间一定大于996
  5. 世界上最长的博士论文,列入吉尼斯世界纪录
  6. 【文末福利】如何用精密算法解决未婚妻问题?
  7. 8位两院院士、20位长江、杰青……这个学院厉害了!
  8. ZJU期末考试记录(研究生)——数据挖掘
  9. NS2相关学习——完成一个新协议(2)
  10. lucene 各个版本介绍