Lucent's Blog

华发寻春喜见梅,一株临路雪倍堆。



代码在写我

Bug在De我

螃蟹在剥我的壳

漫天的我落在雪花上

而你在想我...

6LCi5Y2O5qKF

Docker学习笔记(一)Docker入门简介

Docker 是一个基于GO语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。

在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

下面对比了Docker 和传统虚拟化(KVM、XEN等)方式的不同之处,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的APP应用。

下图为传统虚拟化方案:

6-300x114.png

如下为Docker虚拟化方案:

7-300x85.png

Docker虚拟化有三个概念需要理解,分别镜像、容器、仓库。

  • 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。
  • 容器:使用镜像常见的应用或者系统,我们称之为一个容器。
  • 仓库:仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。

Docker虚拟化特点

跟传统VM比较具有如下优点:

  1. 操作启动快

运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。

  1. 轻量级虚拟化

你会拥有足够的"操作系统",仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。但是传统虚拟化,你虚拟10-20个虚拟机就不错了。

  1. 开源免费

开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多"容器",注定比VMs要便宜。

  1. 前景及云支持

正在越来越受欢迎,包括各大主流公司都在推动docker的快速发展,性能有很大的优势。

跟传统VM比较具有如下缺点:

  1. 目前知道的人比较少

  2. 相关的技术资料欠缺

  3. Go语言还没完全成熟

最近的文章

Docker学习笔记(二)Docker(V18.03)安装配置

OS要求要安装DockerCE,您需要CentOS7及以上版本。卸载旧版本较旧版本的Docker被称为docker或docker-engine。如果已安装这些,请卸载它们以及相关的依赖项。代码如下$sudoyumremovedocker\docker-client\docker-client-lat…

继续阅读
更早的文章

关于

欢迎来到我的小站呀,很高兴遇见你!🤝我是一个Java程序员,Bug开发者👨‍💻博主是谁呆呆木📬联系我呀QQ:975023381邮箱:[email protected]:https://github.com/xhmily…

继续阅读