linux cpu占用率如何看
269
2022-10-22
Docker:Docker的简介、安装、使用方法之详细攻略
Docker:Docker的简介、安装、使用方法之详细攻略
目录
Docker的简介
0.1、知乎对Docker的理解—Docker就是集装箱
0.2、简书对Docker的理解—Docker带来标准化
1、一个完整的Docker有以下几个部分组成
2、Windows 下面运行 Docker 的两个主要工具
Docker的安装
0、基于Windows 的Docker安装
1、官网下载
2、本地安装图文教程
3、Docker测试
Docker的使用方法
1、用户的应用程序迁往Docker容器的五步骤
Docker的简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
0.1、知乎对Docker的理解—Docker就是集装箱
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
1、docker可以实现虚拟机隔离应用环境:不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。2、docker可以把开发环境直接封装转移给运维:你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。3、docker部署高效利用内存:在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
总之docker就是集装箱原理。
0.2、简书对Docker的理解—Docker带来标准化
Docker 公司的口号:“Build,Ship,and Run Any App,Anywhere ”,通俗的讲就是 “快来用Docker吧,Docke就像集装箱一样,用了Docker你的业务就可以随意的、无拘无束的运行在任何地方”。那集装箱解决了什么问题?
在集装箱之前,货物运输没有统一的标准方式进行搬运,于是铁路、公路、海洋等各种运输之间,需要大量的人力作为货物中转,效率极低,而且成本很高。集装箱出现之后,世界上绝大多数的货物运输都可以放到这个神奇的箱子里,然后在公路、铁路、海洋等所有运输场景下,这个箱子都可以不用变化形态直接可以承运,而且中间的中转工作,都可以通过大型机械搞定,效率大大提升。<经济学家>杂志说:"没有集装箱,就没有全球化。"
经济全球化的基础就是现代运输体系,而一个高度自动化、低成本和低复杂性的货物运输系统的核心就是集装箱。在1956年集装箱出现之前,人们很难想象美国的沃尔玛能够遍地开花。而在集装箱出现之后,以至于某件东半球的产品运至纽约销售,远比在纽约近郊生产该产品更划算。毫不起眼的集装箱降低了货物运输的成本,实现了货物运输的标准化,以此为基础逐步建立全球范围内的船舶、港口、航线、公路、中转站、桥梁、隧道、多式联运相配套的物流系统,世界经济形态因此而改变。从此全球化开始,商业的潜力被进一步挖掘......牛逼之处我就不多说了,可是这个箱子为什么这么神奇呢?答案其实也就在上面的描述中,无非就是两个字:标准。在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
如果你正好是一个运维工程师而且你正感觉你的运维环境一团糟,麻烦请你思考一下这是为什么?
语言不同:你是不是正在运维着一个使用 php、java、C#甚至 C/C++等用各种语言编写的应用都在运行的环境里?环境不同:这个环境是不是因为某种历史原因,使你的操作系统运行着各个版本的内核甚至还有 windows?版本不同:即使是同样语言编写的业务也运行着不同版本的库?各种不同:你的整个系统环境是不是甚至找不出来两台硬件、操作系统、库版本以及语言版本完全一样的环境?
于是你每次遇到问题都要去排查,到底那个坑到底在那里?
从网络、内核到应用逻辑。你每次遇到产品升级都要在各种环境上做稳定性测试,发现不同的环境代码 crash 的原因都不尽相同。你就像一个老中医一样去经历各种疑难杂症,如果遇到问题能找到原因甚至都是幸运的,绝大多数情况是解决了但不知道原因和没解决自动好了也不知道原因。于是你们在一个特定的公司的环境中积累着“经验”,成为你们组新手眼中的大神,凭借历经故障养成的条件反射在快速解决不断发生的重复问题,并故弄玄虚的说:这就是工作经验。因为经验经常是搞不清楚原因时的最后一个遮羞布。当别人抱怨你们部门效率低的时候,你一般的反应是:”you can you up,no can no 逼逼!
那么我们再来看看 docker 是怎么做的?现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
1、一个完整的Docker有以下几个部分组成
DockerClient客户端Docker Daemon守护进程Docker Image镜像DockerContainer容器
2、Windows 下面运行 Docker 的两个主要工具
Docker for Windows:新一代的 Windows下的运行平台。DockerToolbox:上一代的运行平台,安装参考Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
Docker的安装
pip install docker
0、基于Windows 的Docker安装
参考文章
win10家庭版安装Docker
Docker 可以以两种形式运行在 Windows 上:以 Hyper-V 虚拟机的形式运行 Linux 格式的容器,或者运行原生的 Windows 容器。其中前者运行 Linux 格式的应用程序,后者能运行 Windows 应用程序。
如果安装了win10,可以采用安装包直接安装,现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。Hyper-V 让你可以在 Windows 上以虚拟机形式运行多个操作系统。
官方文档提示:HYPER-V 在 64 位版本的 Windows 10 专业版、 企业版和教育版上可用。 但是,切记,不适用于Windows10的家庭版。 因为,默认情况下win10家庭版是没有hyper-V的,但是可以通过配置进行修改。
T1、Windows10家庭版无法安装docker,需要下载docker toolbox安装,参考文章
Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
T2、Windows10家庭版修改配置,直接安装docker
1、官网下载
Hub。
步骤5:配置测试部署。应对在容器中运行的应用程序进行配置,以便于让应用程序知道可以在哪里连接外部资源或者应用程序集群中的其他容器。企业用户可以把这些配置部署在容器中或使用环境变量。
对基于容器的应用程序进行测试类似于对其他分布式应用程序的测试。企业可以对每个容器进行组件测试,并将容器集群作为一个整体进行测试。 确定应用程序应如何能够在负载增加的情况下进行扩展。如果用户正在使用一个集群管理器(例如Swarm),则可测试其性能。
最后,把容器部署到实际生产环境中。为了积极主动地关注基于容器的应用程序的运行状况,可考虑实施必要的监控和管理机制 。确保打开日志记录功能。
很多应用程序迁移至云计算都是采用容器技术的。虽然迁移有一点复杂,但是容器可以保护应用程序投资并赋予了它一个更长的使用寿命。
参考文章
Docker
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~