Docker基础学习(一)-基本概念和框架

本文介绍了Docker的基础知识,包括容器的概念,与虚拟机的区别,Docker的主要特点和目标。Docker提供轻量级的虚拟化,通过Namespace和CGroups实现资源隔离,用于快速开发、部署和测试服务,构建隔离的运行环境。同时,文章概述了Docker的组成部分,如Docker Client、Daemon、Image、Container和Registry。
摘要由CSDN通过智能技术生成

一,Docker简介

1,什么是容器

(1)一种虚拟化的方案

(2)操作系统级别的虚拟化

(3)只能运行相同或相似内核的操作系统

(4)依赖于Linux内核特性:Namespace和CGroups(Control Group)

2,虚拟机与容器对比

        与虚拟相比,容器占用的磁盘空间更少,如下图,使用虚拟机部署应用需要包含应用,依赖的类库和完整的操作系统,但是容器只需要应用和其依赖的类库。

虚拟机原本可以几十M的应用可能需要几个G操作系统来支撑。

3,什么是Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker的目标:

(1)提供简单轻量的建模方式

(2)职责的逻辑分离

(3)快速高效的开发生命周期

(4)鼓励使用面向服务的架构

Docker的使用场景:

(1)使用Docker容器开发、测试、部署服务

(2)创建隔离的运行环境

(3)搭建测试环境

(4)构建多用户的平台即服务(PaaS)基础设施

(5)提供软件即服务(SaaS)应用程序

(6)高性能、超大规模的宿主机部署

 

二,Docker的基本组成

1,Docker Client客户端

2,Docker Daemon守护进程

3,Docker Image镜像

4,Docker Container容器

5,Docker Registry仓库 

Docker Client客户端通过发送各种操作命令访问守护进程,守护进程也将结果反馈到客户端

Docker Client客户端访问守护进程,来操作Docker容器,容器是由镜像来创建,而镜像则放在Docker仓库中。

三,Docker容器相关技术简介

Namespace命名空间:

1,在编程语言中,它的主要作用是代码的封装即代码隔离。

2,在操作系统系统中,它的主要作用是系统资源的隔离,包括:进程,网络,文件系统等等。

Docker主要使用的5种命名空间:

(1)PID(Process ID) 进程隔离

(2)NET(Network) 管理网路接口

(3)IPC(InterProcess Communication) 管理跨进程通信的访问

(4)MNT(Mount) 管理挂载点

(5)UTS(Unix Timesharing System) 隔离内核和版本标识

 

Control groups控制组提供的功能:

(1)资源限制

(2)优先级设定

(3)资源计量

(4)资源控制

 

通过以上两种技术,提供给Docker容器的的能力:

(1)文件系统隔离:每个容器都有自己的root文件系统

(2)进程隔离:每个容器都运行在自己的进程环境中

(3)网路隔离:容器间的虚拟网络接口和IP地址都是分开的

(4)资源隔离和分组:使用Cgroups将CPU和内存之类的资源独立分配给每个Docker容器

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值