docker简介
来源:互联网 发布:深思考机器人软件 编辑:程序博客网 时间:2024/06/05 00:56
docker的应用范围很广,这里简要地介绍一下docker的原理。
个人理解docker的实质就是虚拟化,利用LXC来实现类似VM的功能。是一个操作系统级的轻量级虚拟化方法。
LXC所实现的隔离性主要是来自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。LXC所设置的namespace有pid namespace,net namespace,ipc namespace,mnt namespace,uts namespace,user namespace,有了以上6种namespace从进程、网络、IPC、文件系统、UTS和用户角度的隔离,一个container就可以对外展现出一个独立计算机的能力,并且不同container从OS层面实现了隔离。然而不同namespace之间资源还是相互竞争的,仍然需要类似ulimit来管理每个container所能使用的资源。
Docker对container的使用基本是建立在LXC基础之上的,然而LXC存在的问题是难以移动 - 难以通过标准化的模板制作、重建、复制和移动 container。
在以VM为基础的虚拟化手段中,有image和snapshot可以用于VM的复制、重建以及移动的功能。想要通过container来实现快速的大规模部署和更新, 这些功能不可或缺。Docker 正是利用AUFS来实现对container的快速更新。
Docker的特性简要概括有一下有这么几点:
1、LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的。
2、隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
3、网络管理相对简单,主要是基于namespace隔离
4、cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量
5、docker对disk的管理比较有限
6、container随着用户进程的停止而销毁,container中的log等用户数据不便收集
开发Docker实例并不像创建一台虚拟机、添加应用然后克隆那样简单。为成功创建并使用Docker基础设施,管理员需要对系统管理的各个方面有一个全面的理解,包括Linux管理、编排及配置工具比如Puppet、Chef以及Salt。这些工具生来就基于命令行以及脚本。
- Docker 简介
- Docker简介
- Docker 简介
- Docker简介
- Docker 简介
- Docker简介
- Docker简介
- Docker简介
- Docker简介
- Docker 简介
- Docker 简介
- Docker简介
- Docker 简介
- docker简介
- Docker简介
- Docker简介
- Docker简介
- docker 简介
- webService快速入门入门系列《1》-----url调用
- 一脸懵逼:京东618手机大战有几个“第一”?
- GeekPwn(极棒)全球寻找未来黑客 上海旧金山同步开赛
- 野心不小!IBM联手一家汽车制造商推出自动驾驶巴士
- VR、基因治疗、硅谷华丽的背后,真实情况是这样的 | 硅谷锋向周刊
- docker简介
- android studio升级3.0版本,问题处理
- 纪念品分组
- MD5和DES加密算法
- 简单的逆向最大匹配算法实现中文分词(Python)
- 为什么要使用java内部类
- React学习(五):动画与拖放
- kafka_2.11-0.10.1.1集群搭建安装配置
- 其父其子:AI之父们和他们孩子的坎坷成长之路