Docker容器(一)

1. Docker简介和KVM区别

1.1 历史简介

Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker 是通过内核虚拟化技术(namespaces及cgroups等,这里的内核技术指的是Linux内核)来提供容器的资源隔离与安全保证等。由于docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要额外的虚拟化管理程序(VMM(Virtual Machine Monitor),以及hyperisor)支持,他是内核级虚拟化,可以实现更高的性能,同时对资源的额外需求很低。最本质特征docker是通过隔离来进行创建容器,而KVM等均为通过模拟方式创建虚拟机

1.2 优势说明

更快的交付和部署

使用docker 开发人员可以使用镜像来快速构建一套标准的开发环境;开发完成之后, 测试和运维人员可以直接使用完全相同的环境来部署代码,只要开发测试过的代码, 就可以确保在生产环境无缝运行。docker可以快速创建和删除容器,实现快速迭代, 大量节约开发、测试、部署的时间

更高效的资源利用

docker 容器不需要额外的管理程序支持,他是内核级的虚拟化,可以实现更高级的性能,同时对资源的额外需求很低

更轻松的迁移和扩展

docker容器几乎可以再任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等,同时支持主流的操作系统发行版本。这种兼容性让用户可以在不同平台之间轻松地迁移应用

1.3 对比KVM

docker容器很快,启动和停止可以在秒级实现,而传统的虚拟机需要数分钟

docker容器对系统资源需求很少,一台主机上可以同时运行数百甚至上千个docker容器

docker 通过类似于git的设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新

docker通过dockerfile支持灵活的自动化创建和部署机制,提高工作效率,使流程标准化

1.4 docker的特性

Docker的三大特性为BUILD(构建)、SHIP(运输)、RUN(运行)。(一次构建多处运行,像不像JAVA呢)。docker是传统的CS架构分为docker client和docker server,主要分为三大组件 镜像(image)、容器(container)、仓库(Repository)。那么docker和我们之前接触的openstack又有什么区别呢?

他们的区别如下所示

2. 安装与配置

2.1 安装

配置epel源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install epel-release
um clean all && yum makecache
yum install docker ­y

systemctl enable docker

Created symlink from /etc/systemd/system/multi­user.target.wants/docker.service to

/usr/lib/systemd/system/docker.service.

猜你喜欢

转载自www.cnblogs.com/w787815/p/9380849.html