写点什么

28 天带你玩转 Kubernetes-- 第五天(玩转 Docker)

发布于: 2021 年 01 月 12 日
28 天带你玩转 Kubernetes-- 第五天(玩转Docker)

一、简介


Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。项目后来加入了 Linux 基金会,遵从了 Apache2.0 协议,项目代码在 GitHub 上进行维护。Docker 自开源后受到广范的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。RedHat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。Docker 的目标是实现经量级的操作系统虚拟化解决方案。Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要关心容器的管理,使得操作更加简单。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。


设计思想:


Docker 的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。docker 就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker 就是集装箱。


1.不同的应用程序可能会有不同的应用环境,比如.net 开发的网站和 php 开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如 IIS 和 Apache 访问端口冲突。这个时候你就要隔离.net 开发的网站和 php 开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker 可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。


2.你开发软件的时候用的是 Ubuntu,但是运维管理的都是 centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些 Ubuntu 转 centos 的问题,比如:有个特殊版本的数据库,只有 Ubuntu 支持,centos 不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有 docker 你就可以把开发环境直接封装转移给运维,运维直接部署你给他的 docker 就可以了。而且部署速度快。


3.在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker 部署的话,这些内存就会利用起来。


总之 docker 就是集装箱原理。


发布于: 2021 年 01 月 12 日阅读数: 38
用户头像

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
28 天带你玩转 Kubernetes-- 第五天(玩转Docker)