码农的世界Docker我爱编程

『中级篇』docker架构和底层技术(12)

2018-06-09  本文已影响38人  IT人故事会

前11节主要是介绍docker的安装,如果跟这我来学我相信大家已经有了一个docker的安装环境,本次是看下docker的架构和底层的技术,其实随着各位老铁的学习我相信对于docker架构和底层技术会越来越深入的了解,特别是底层技术,后面会边用边给大家介绍底层的linux的技术。

Docker平台

Docker Engine

  1. 最核心的是 Docker Daemon我们称之为Docker守护进程,也就是Server端,Server端可以部署在远程,也可以部署在本地,因为Server端与客户端(Docker Client)是通过Rest API进行通信。
  2. REST 做过web开发都了解,它的效率杠杠的。
  3. docker CLI 实现容器和镜像的管理,为用户提供统一的操作界面,这个 客户端提供一个只读的镜像,然后通过镜像可以创建一个或者多个容器。(container),这些容器可以只是一个RFS(Root File System),也可以是一个包含了用户应用的RFS。容器在docker Client中只是一个进程,两个进程是互不可见的。用户不能与server直接交互,但可以通过与容器这个桥梁来交互,由于是操作系统级别的虚拟技术,中间的损耗几乎可以不计。
  4. 其实docker就是个C/S的架构,有client和server的。

Docker的组织架构

Docker的底层技术支持

容器=cgroup+namespace+rootfs+容器引擎(用户态工具LXC)

PS:这里面很多底层的技术,说实话,还是感觉不需要那么急着了解这些底层linux的技术,随着咱们慢慢对docker深入认识,里面的技术细节也会展开深入的的说。

Docker瞎扯淡

有初学者还在问,docker都出了这么多课程了,能否通俗易懂的说下,我就在baidu找了一些内容分享出来,文章也是转载的,写的互联网。

首先你有一个 100 平方的房子(服务器),已知你(PHP 应用)需要吃喝拉撒睡觉,所以整个房子划分了卧室、厨房、卫生间等,然后供你一个人享用,但其实挺浪费的,你一个人并不需要 100 平方这么大,可能需要 20 平方(服务器占用 20%)就好了。

后来又来了个别人(Java 应用)也被安排到了这个房子里生活,他也需要吃喝拉撒睡,所以你们挤在了一个床上,用一个卫生间(比如 http 服务器)。如果你改了你的习惯(例如 http 服务配置项)同样会影响别人的生活。

后来又来了人(Node 应用),这时候房东发现房子不够大了,所以搬家(迁移、升级服务器)到另一个 150 平的房子,但是搬家成本好高。由于户型不同(系统版本、环境等)需要装修好久,此外还要把住户(应用代码)搬过来,还需要把住户自定义的习惯都带过来简直麻烦死了。

这时候,房东了解到了一个叫 Docker 的产品。

Docker 是一个可自由伸缩的集装箱房屋:

这个集装箱房屋虽小但是五脏俱全,而且可以满足一切用户需求,并支持高度自定义,比如 Node 这位住户不需要厨房,那么他的集装箱房子就小一点,当然房租(服务器消耗)也便宜一些。

房东用了 Docker 这个产品之后,发现租房这个事情变简单了:

扯完了:

开始新的征程

源码的路径:https://github.com/limingios/docker.git

vagrant plugin install vagrant-vbguest
vagrant reload --provision
vagrant up

创建完毕

#进入虚拟机
vagrant ssh
sudo docker version

PS:开始实践了,欢迎大家持续关注。

往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
image
上一篇下一篇

猜你喜欢

热点阅读