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

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


640?wx_fmt=jpeg


作者:channingbreeze

文章转载自程序员乔戈里


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

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的基础镜像上安装一些额外的东西,第4行是镜像启动之后执行的初始命令。

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


【笔记】


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


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

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

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


【饭后】


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


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


640?wx_fmt=png


福利

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


640?wx_fmt=jpeg


640?wx_fmt=jpeg


推荐阅读:

  • 全面剖析企业私有云

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

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

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

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

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

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


640?wx_fmt=png喜欢就点击“好看”吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS – OpenGL ES 调节图像反色 GPUImageColorInvertFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

一部刷爆朋友圈的5G短片,看完才知道5G多暖多重要!

戳蓝字“CSDN云计算”关注我们哦!文章转载自网优雇佣军这是一部刷爆了国内外朋友圈的5G宣传短片…连接5G以后的世界清晨,男孩坐上自动驾驶出租车去乡下看爷爷奶奶在车上,男孩戴上VR智能眼镜如身临其境般观看直播球赛此刻,乡下的爷…

IOS – OpenGL ES 调节图像褐色 GPUImageSepiaFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

IOS – OpenGL ES 调节图像灰色 GPUImageGrayscaleFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

豆瓣已玩烂,来爬点有逼格的 ——IMDB 电影提升你的品位

戳蓝字“CSDN云计算”关注我们哦!作者:翻滚吧羊宝宝文章转载自数据森麟前言转战Python半年,接触爬虫2个月,期间读了10本相关书籍,完成此作,算是对过去学习、实践的一次回顾。也希望与更多的python&#xff…

React之回调函数形式的ref

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_回调函数形式的ref</title> </head> <body> <!-- 准备好一个容器 --> <div id"test"></div> <!-- 核心库 -->…

IOS – OpenGL ES 调节图像RGB通道 GPUImageRGBFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

云评测 | 开发者最有用的开源云监控工具有哪些呢? 这7款神器总有一款适合你!...

戳蓝字“CSDN云计算”关注我们哦&#xff01;整理 | 刘丹云计算作为IT基础设施的交付和使用模式&#xff0c;通过网络以按需、易扩展的方式获得所需的资源。而云平台聚集了大量软硬件资源&#xff0c;并采用虚拟化技术实现动态按需提供需要服务&#xff0c;值得注意的是&#x…

IOS – OpenGL ES 调节图像不透明度 GPUImageOpacityFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

要闻君说:华云数据“豪气”收购超融合厂商Maxta;VMware有意“携手”微软Azure云;亚马逊获3亿美元云计算合同...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 大家好&#xff01;偶是要闻君。气温回升、春意盎然&#xff0c;充分休息两天后就抓紧学习吧&#xff01;文/要闻君全球第二大市场研究机构MarketsandMarkets日前发布报告称&#x…

IOS – OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

SDN精华问答 | SDN可以做什么?

进入2019年&#xff0c;基于SDN的解决方案再次成为最热门的话题之一&#xff0c; 从运营商、到OTT再到大的企业都已经开始大谈SDN网络规划和部署&#xff0c;甚至WannaCry蠕虫爆发时有人谈到利用SDN的方法抵御。今天&#xff0c;我们就来看看关于SDN的精华问答吧。1Q: SDN可以做…

React之非受控组件

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>1_非受控组件</title> </head> <body> <!-- 准备好一个容器 --> <div id"test"></div> <!-- 核心库 --> <sc…

IOS – OpenGL ES 调节图像色彩替换 GPUImageFalseColorFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

K8S精华问答 | Kubernetes集群不能正常工作,难道是防火墙问题?

作为是Google开源的容器集群管理系。在Docker技术的基础上&#xff0c;为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能&#xff0c;提高了大规模容器集群管理的便捷性。今天&#xff0c;我们就来看看关于k8s的精华问答吧。1Q: Kubernetes集群不能正…

React之受控组件

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_受控组件</title> </head> <body> <!-- 准备好一个容器 --> <div id"test"></div> <!-- 核心库 --> <scri…

小团队的微服务之路

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Dean文章转载自Docker微服务是否适合小团队是个见仁见智的问题。回归现象看本质&#xff0c;随着业务复杂度的提高&#xff0c;单体应用越来越庞大&#xff0c;就好像一个类的代码行越来越多&#xff0c;分而治之&#xff0c…

5G精华问答 | 什么是5G?5G与LTE有什么关系?

从2016年以来&#xff0c;5G热度逐步攀升。作为下一代移动通信网络&#xff0c;如果用一个关键词来形容5G&#xff0c;那就是“快”。5G不仅会极大地改变人们现有的生活和工作方式&#xff0c;提升通信效率&#xff0c;还可以加大很多前沿技术和产品落地的可能性。今天&#xf…

React之不用函数柯里化的实现

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_不用函数柯里化的实现</title> </head> <body> <!-- 准备好一个容器 --> <div id"test"></div> <!-- 核心库 --&…

React之引出生命周期

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_不用函数柯里化的实现</title> </head> <body> <!-- 准备好一个容器 --> <div id"test"></div> <!-- 核心库 --&…