Docker介绍

1. 什么是Docker
  1. 概念:Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。

2. Docker的目标
  1. 提供一个简单,轻量的建模方式
  2. 职责的逻辑分离
  3. 快速,高效的开发生命周期
  4. 鼓励使用面向服务架构

3. Docker组件
  1. Docker客户端和服务器,也称为Docker引擎
  2. Docker镜像
  3. Registry
  4. Docker容器

4. Docker客户端和服务器
  1. Docker是典型的客户端服务器架构的程序。docker客户端只需向docker服务器或者守护进程发出请求,服务器或守护进程接收客户端发过来的请求,将完成的所有的工作并返回结果。
  2. docker守护进程有时也称为引擎
  3. docker提供了一个命令行工具以及一整套restful api与守护进程进行交互。

5. Docker镜像
  1. 镜像是构建docker容器的基石

6. Docker Registry
  1. docker用register来保存用户构建的容器

7. 容器
  1. docker可以帮用户构建和部署容器,用户只需把自己的应用程序或服务打包放进容器即可。

8. Docker技术组件
  1. 一个原生的linux容器格式,docker中称为libcontainer
  2. linux内核的命名空间,用于隔离文件系统,进程,网络
  3. 文件系统的隔离,每个docker容器都有属于自己的root文件系统
  4. 进程隔离,每个容器都运行在自己的进程环境中
  5. 网络隔离,容器间的虚拟网络接口和ip地址都是分开的
  6. 资源隔离和分组,使用cgroups将cpu和内存之类的资源独立分配每个docker容器
  7. 写时复制,文件系统都是通过写时复制创建,这意味着文件系统是分层的,快速的,而且占用的磁盘空间更小
  8. 日志,容器产生的STDOUT,STDERR和STDIN这些IO⑥都会被收集并记录进日志中,用来故障排错和日志分析
  9. 交互式的shell,用户可以创建一个为tty终端,将其连接到STDIN,为容器提供一个交互式shell。

Note:写时复制是指多个调用者同时请求相同的资源,他们会共同得到相同的指标指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正的复制一份专用副本给该调用者,而其他调用者所见到的最初的资源仍然保持不变。


that's all

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。