最近开始自学docker,决定把本身的学习进度分享给你们,天天一篇但愿能帮助docker的初学者。你们积极留言哦,输出决定输入!预计20次完成docker的讲解。docker
1.什么是docker数据库
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,听从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。安全
Docker 自开源后受到普遍的关注和讨论,以致于dotCloud 公司后来都更名为 Docker Inc。Redhat已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中普遍应用。服务器
Docker的主要目标:网络
经过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用级别的一次封装,处处运行。运维
小贴士:这里的应用组件,能够是WEB应用,也能够是一套数据库服务,甚至能够是一个操做系统编译器。性能
2.为何使用docker学习
Docker容器虚拟化的优势测试
环境隔离;spa
经过cgroups和namesapce进行实现资源隔离,实现一台机器运行多个容器互不影响。
更快速的交付部署;
使用docker,开发人员能够利用镜像快速构建一套标准的研发环境;开发完成后,测试和运维人员能够直接经过使用相同的环境来部署代码。Docker能够快速建立和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。而且,各个步骤都有明确的配置和操做,整个过程全程公司内文档说明,使团队更容易理解应用建立和工做的过程。
更高效的资源利用;
docker容器的运行不须要额外的虚拟化管理程序的支持,它是内核级的虚拟化,能够实现更高的性能,同时对资源的额外需求很低。
更易迁移扩展;
docker容器几乎能够在任意的平台上运行,包括乌力吉、虚拟机、公有云、私有云、我的电脑、服务器等,这种兼容性让用户能够在不一样平台之间轻松的迁移应用。
更简单的更新管理。
使用Dockerfile,只须要小小的配置修改,就能够替代以往的大量的更新工做。而且全部修改都是以增量的方式进行分发和更新,从而实现自动化和高效的容器管理。
3.虚拟化与docker
虚拟化定义:虚拟化是一种资源管理技术,是将计算机的各类实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户能够比本来的配置更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。通常所指的虚拟化资源包括计算能力和数据存储。
系统虚拟化,Hypervisor Virtualization,全虚拟化。在 Host 中经过 Hypervisor 层实现安装多个 GuestOS,每一个 GuestOS 都有本身的内核,和主机的内核不一样,GuestOS 之间彻底隔离。
容器虚拟化,Operating System Virtualization ,使用 Linux 内核中的 namespaces 和 cgroups 实现进程组之间的隔离。是用内核技术实现的隔离,因此它是一个共享内核的虚拟化技术。
容器虚拟化没有 GuestOS,使用 Docker 时下载的镜像,只是为运行 App 提供的一个依赖的环境,是一个删减版本的系统镜像。通常状况下系统虚拟化没有容器虚拟化的运行效率高,可是系统安全性高不少。
优越性:
你在一台机器能够开10个虚拟机,若是用docker能够开100个容器,就是这么霸气
4.docker官网注册
注册一个docker帐号:https://hub.docker.com/
完成注册,我用的qq邮箱,等了10分钟才收到
收到后激活邮箱,进行登陆
登陆完毕