Docker技术原理与应用

序言:《云计算课程》要求简单了解一下Docker,所以整理了一下。。。

一、Docker简单了解

1.1 Docker是什么?

Docker是世界领先的软件平台的容器。

容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似

官网:https://www.docker.com/what-docker

1.2 Docker的使用场景

l 简化配置:虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台

l 代码流水线管理:Docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变得简单不少

l 隔离应用

l Web 应用的自动化打包和发布

l 快速部署环境:Docker只是创建一个容器进程而无需启动操作系统,这个过程只需要秒级的时间

1.3 Docker的原理简单了解

  Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

  Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

二、Docker与VM的区别

2.1主要区别分析

  容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核。

  Docker 的局限性之一是,它只能用在 64 位的操作系统上。

2.2实现原理区别

docker 容器 培训PPT docker容器技术与应用_tomcat

          

docker 容器 培训PPT docker容器技术与应用_Docker_02

  

比较两图的差异,左图虚拟机的Guest OS层和Hypervisor层在docker中被Docker Engine层所替代。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整操作系统内核;虚拟机的Hypervisor层可以简单理解为一个硬件虚拟化平台,它在Host OS是以内核态的驱动存在的。 

三、Docker的实践应用(CentOS7.2 Docker的安装与尝试)

3.1前提

系统为64位,Docker暂不支持32位操作系统

  CentOS 系统的内核版本高于 3.10 ,可以用uname -r命令查看

3.2安装

yum -y install docker

 

3.3启动

 service docker start

3.4测试hello-world

docker run hello-world

 

docker 容器 培训PPT docker容器技术与应用_虚拟化_03

docker 容器 培训PPT docker容器技术与应用_docker 容器 培训PPT_04

 

3.5 Docker安装Tomcat

1.查找Docker Hub上的tomcat镜像

docker 容器 培训PPT docker容器技术与应用_Docker_05

 

2.拉取镜像

docker pull tomcat

 

docker 容器 培训PPT docker容器技术与应用_Docker_06

3.运行容器

docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat  

4.效果查看

docker ps

 

docker 容器 培训PPT docker容器技术与应用_Docker_07

docker 容器 培训PPT docker容器技术与应用_tomcat_08