作者 |  channingbreeze
责编 | 仲培艺

小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。

生活现场

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

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

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

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

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

【晚饭】

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

【吕老师前传】

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

【Docker 有啥好】

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

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

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

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

【Dockerfile】

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

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

【Docker 最佳实践】

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

【Docker 关键概念】

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

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

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

总结

【笔记】

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

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

2. Dockerfile 记录镜像的制作步骤

3. 镜像、容器、仓库的概念可以类比代码、进程、GitHub.

【饭后】

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

作者:channingbreeze,国内某互联网公司全栈开发。

声明:本文为作者投稿,版权归对方所有。


 热 文 推 荐 

☞ IT 从业者要如何在国企「活」下去?

☞ 官宣:Linux 内核主要贡献者 Linaro「喜提」新任 CEO!

☞ 年后跳槽 BAT 必看,10 种干货帮你 Offer 拿到手软!

从倾家荡产到身价百亿,这个85后只用了8年

☞ 难逃寒冬裁员的“大追杀”,30 岁女码农该何去何从?

☞ OpenStack 2018 年终盘点

拼多多黄峥给陆奇“兼职”,欲挖掘这类AI人才

☞ 老程序员肺腑忠告:千万别一辈子靠技术生存!

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

点击“阅读原文”,打开 CSDN App 阅读更贴心!

喜欢就点击“好看”吧!

漫画 | 从搬家到容器技术 Docker 应用场景解析相关推荐

  1. 云漫圈 | 容器技术docker应用场景解析

    戳蓝字"CSDN云计算"关注我们哦! 作者:channingbreeze 文章转载自程序员乔戈里 话说小史已经接受了A厂的offer,这不,已经在公司附近租好了房子,准备搬家过去住 ...

  2. 企业级容器技术 Docker

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

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

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

  4. 容器技术 - docker

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

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

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

  6. 容器技术Docker

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

  7. 企业级容器技术Docker

    1 Docker 介绍和基础操作 移植性比较好----拥有独自的仓库,但要内核新 可移植性,标准化,隔离性) 1.1.2 Docker 是什么 Docker 是基于 Linux 内核实现,最早采用 L ...

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

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

  9. 容器技术——docker小白入门

    docker是什么: Docker的主要目标是"Build,Ship and Run Any App,Anywhere",也就是通过对应用组件的封装.分发.部署.运行等生命周期的管 ...

最新文章

  1. R语言四格表的统计分析及假设检验
  2. 数据结构实验之链表五:单链表的拆分-sdut
  3. Office2010升级前期准备
  4. 飞鸽传书2011怎么用之启动常见问题(二)
  5. SignalR--Web客户端
  6. simulink模块使用记录1-mux/demux/clock/realtion operator
  7. 解析:区块链的本质是伴随信息社会产生的一种新型生产关系
  8. 移动端AI应用太抢手,高通这次要送开发者20万+的SUV
  9. java 视频转码工具类_JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇)...
  10. 磁盘调度算法课程设计(附源代码)
  11. R语言ETL系列:过滤(filter)
  12. Cannot open include file: 'unistd.h': No such file or directory的解决办法
  13. 自己动手——实现台达PLC远程监控数据采集
  14. 汽车维修企业管理【5】
  15. 类和对象的关系练习题:需求:将汽车改装成3个轮子的车并换个颜色。
  16. KGNN-LS 2019 (KDD) Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Re
  17. 屏幕适配入门-了解基本概念-图片适配
  18. 云服务器上安装 R语言 以及 RStudio Server 详细图文操作(全)
  19. IntelliJ IDEA下载安装教程
  20. Atari游戏公司推出两款热门游戏的“区块链版本”

热门文章

  1. java 除以2_Java最快速的算出乘2 和除2的结果
  2. 第三章:变量与字符串等基础知识
  3. 在docker container中为gsutil认证gcloud
  4. 剑指offer两个栈来实现一个队列
  5. Ubuntu16.04LTS安装XMind8并创建运行图标
  6. 散热器老化引起电脑死机
  7. 从苹果 M1 到英伟达 Grace,“缝合风”为何在芯片大厂中盛行?
  8. 火山引擎 veStack 在企业办公场景的落地实践
  9. 不爱跳槽、月薪集中在 8K-17k、五成欲晋升为技术Leader|揭晓中国开发者真实现状
  10. Java开发技巧详细知识体系总结(2021版)