环境准备:docker需要安装在centos位系统上;docker要求系统内核在3.10以上
查看系统内核:
uname-r
安装命令:
yum-yinstalldocker-io
安装完成后,启动命令
servicedockerstart
安装nginx体验
dockerrun-p80:80-dnginx2、doker的理论概念
什么是docker:
鲸鱼通过身上的集装箱(Container)来将不同种类的货物进行隔离;而不是通过生出很多小鲸鱼(GuestOS)来承运不同种类的货物。Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。
物理机、虚拟机、docker的形象对比
这是物理机:一栋楼一户人家、独立地基、独立花园。
这是虚拟机:一栋楼包含多套房子,一套房一户人家,共享地基、共享花园,独立卫生间、厨房、宽带
这是docker容器:一套房隔离成多个小空间俗称胶囊公寓,每个胶囊住一个租客,共享地基、花园、卫生间、厨房、宽带等等
docker和虚拟机的对比
docker虚拟机运行环境docker构建在操作系统上,所以docker甚至可以在虚拟机上运行虚拟化技术依赖物理CPU和内存,是硬件级别的隔离性docker属于进程之间的隔离虚拟机可实现系统级别隔离安全性Docker的租户root和宿主机root等同,一旦容器内的用户从普通用户权限提升为root权限,它就直接具备了宿主机的root权限,进而可进行无限制的操作。故:docker的安全性也更弱虚拟机租户root权限和宿主机的root虚拟机权限是分离的,并且虚拟机利用硬件隔离:如Intel的VT-d和VT-x的ring-1硬件隔离技术,这种隔离技术可以防止虚拟机突破和彼此交互虚拟机的安全性高可管理性docker的集中化管理工具还不算成熟。各种虚拟化技术都有成熟的管理工具,例如VMwarevCenter提供完备的虚拟机管理能力。快速创建、删除Docker容器创建是秒级别的,Docker的快速迭代性,决定了无论是开发、测试、部署都可以节约大量时间。虚拟化创建是分钟级别的交付、部署Docker在Dockerfile中记录了容器构建过程,可在集群中实现快速分发和快速部署;虚拟机可以通过镜像实现环境交付的一致性,但镜像分发无法体系化;docker的架构原理
derverdaemon:dockerserver是一个守护进程,它可以部署远程也可以部署本地。它包含2部分网络newtwork和磁盘datavolumesRESTAPI:实现了client和server间的通信交互协议CLI(