首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 24-03-04 22:21
  • 3336
  • 6389
blog.csdn.net

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 |  channingbreeze
责编 | 仲培艺

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


640?wx_fmt=png

生活现场

640?wx_fmt=jpeg

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

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

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

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

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

【晚饭】

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【吕老师前传】

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

640?wx_fmt=jpeg

【Docker 有啥好】

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

【Dockerfile】

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【Docker 最佳实践】

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【Docker 关键概念】

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=png

总结


【笔记】

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

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

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

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

【饭后】

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

作者: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 "点个好看吧!"

640?wx_fmt=gif点击“阅读原文”,打开 CSDN App 阅读更贴心!

640?wx_fmt=png 喜欢就点击“好看”吧!
CSDN
微信公众号
成就一亿技术人
注:本文转载自blog.csdn.net的CSDN资讯的文章"https://blog.csdn.net/csdnnews/article/details/85889633"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top