Docker


文章目录

  • Docker
  • 1.简介
  • 2.基本组成
  • 1、C/S架构
  • 2、Docker Image镜像
  • 3、Docker Container容器
  • 4、Docker Registry 仓库
  • Docker依赖linux内核特性
  • 1.NameSpace命名空间
  • 2.control group 控制组
  • 3. Docker的能力


1.简介

  • 1.1什么是容器?
一种虚拟化的方案
操作系统级别的虚拟化
只能运行相同或相似内核的操作系统
依赖于 Linux内核特性: Namespace和 Groups( Control Group)

docker部署书栈网bookstack docker简书_docker

  • 1.2、什么是 Docker?

将应用程序自动部署到容器
Go语言开源引擎 Github地址.https://github.com/docker/docker 2013年初 dotcloud基于 Apache2.0开源授权协议发行

  • 1.3、目标

提供简单轻量的建模方式
职责的逻辑分离
快速高效的开发生命周期
鼓励使用面向服务的架构

  • 1.4、使用场景

1.使用 Docker容器开发、測试、部署服务。
2.创建隔离的运行环境
3.搭建测试环境
4.构建多用户的平台即服务(PaaS)基础设施
5.提供软件即服务(SaaS)应用程序
6.高性能、超大规模的宿主机部署

2.基本组成

1、C/S架构

2、Docker Image镜像

容器的基石:底层是bootfs
层叠的只读文件系统:
联合加载(union mount)

docker部署书栈网bookstack docker简书_Docker_02

3、Docker Container容器

通过镜像启动
启动和执行阶段
写时复制(copy on write)

docker部署书栈网bookstack docker简书_Docker_03

4、Docker Registry 仓库

性感docker,在线教程

docker部署书栈网bookstack docker简书_文件系统_04

Docker依赖linux内核特性

1.NameSpace命名空间

提供系统资源的隔离,实现轻量级虚拟化
PID ( Process ID)进程ID
NET ( Network)管理网络接口
IPC ( Interprocess Communication )管理跨进程通信的访问
MNT ( Mount ) 管理挂载点
UTS ( Unix Timesharing System) 隔离内核和版本标志
这些资源是被control group管理起来的

2.control group 控制组

他的大概功能:

资源限制
进程、线程组。。优先级设置
资源计量
资源的控制。比如说可以将进程挂起或恢复

而这些带个docker的能力有哪些呢?

3. Docker的能力
  • 文件系统隔离:每个容器都有自己的root文件系统
  • 进程隔离:每个容器都运行在自己的进程环境中
  • 网络隔离:容器间的虚拟网络接口和|P地址都是分开的
  • 资源隔离和分组:使用 groups将CPU和内存之类的资源独立分配给每
    Docker容器