Docker简介及安装方法(CentOS6.8系统)

Docker定义

  Docker的三要素:仓库、镜像、容器

  Docker定义:解决了运行环境和配置问题的软件容器,方便做持续集成,并有助于整体发布的容器虚拟化技术。

  Docker中的容器技术:将软件运行所需的所有资源打包到一个隔离的容器中,不再需要一整套操作系统;Docker实际就是个一个精细版、高度浓缩版的小型linux系统。

 

Docker特点

  Docker和传统虚拟化方式的不同:传统的虚拟化技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用程序;容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,因此容器要比传统虚拟机更为轻便。

      

  每个容器之间相互隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。

  使用DevOps:开发自己运维:一次构建,随处运行。

  CentOS和Ubuntu的基础镜像仅170M。

 

Docker实现的技术依赖

    Docker的实现依赖Linux的两大特性:NameSpace和Control Groups(cgroups)。

    NameSpace是命名空间,是一种隔离的概念,操作系统中的命名空间提供了一种系统资源的隔离,包括了进程、文件系统和网络资源等等。在同一个命名空间下的进程,可以感知彼此的变化,而对其他命名空间的进程一无所知,这样,就可以让容器中的进程产生一个错觉,仿佛它自己是置身于一个独立的系统环境中,以此达到独立和隔离的目的。

    从Docker的公开的资料来看,它使用了五种命名空间:

    1)Process ID(PID),实现进程隔离

    2)Network(NET),管理网络接口

    3)IPC(InterProcess Communication),管理跨进程通信的访问

    4)MNT(Mount),管理挂载点

    5)UTS(Unix TimesSharing System),隔离内核和版本标识

    Control groups是linux内核提供的用来可以限制、记录、隔离进程组所使用的物理资源的机制,在2007年被Linux kernel 2.6.24使用,可以说,cgroups就是为了实现容器而生的,没有cgroups就没有容器技术。cgroups提供的功能如下:

    1)资源限制,必须对一个进程组设置内存大小,如果已使用的内存达到最大设定值,再申请内存时,就是提示OutofMemory

    2)优先级设定,可以设置哪些进程组可以使用更大的cpu或者是磁盘io的资源。

    3)资源计量, 它可以计算进程组使用了多少系统资源。尤其是在计费系统中,这一点非常重要。

    4)资源控制,它可以将进程组进行挂起和恢复。

 

去哪获取学习资源

http://www.docker.com

https://www.docker-cn.com/

https://hub.docker.com

Linux上Docker安装

  整个安装很简单,就分4步

1.安装依赖

2.安装docker

3.启动docker

4.查看docker版本

Windows上Docker安装

      因为Docker使用了Linux的NameSpace和ControlGroup的技术,所以只能在Linux系统中使用,如果想在Windows上使用Docker,则只能通过虚拟机来实现。目前通过Boot2Docker来提供一整套的运行环境。

      Boot2Docker包含的组件如下:

      1)Boot2Docker Linux ISO,是为Docker定制的虚拟机镜像,其中包含了Docker的运行环境。

      2)Virtualbox,为提供虚拟机服务的软件。

      3)MSYS-git,提供shell的运行环境。

      4)管理工具

      Windows和Linux下的Docker运行环境区别如下图:

      

可以从如下网站下载安装包:    

https://www.github.com/boot2docker/boot2docker

如果您喜欢这篇文章,别忘了点赞和评论哦!

发布了172 篇原创文章 · 获赞 93 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/chenzhanhai/article/details/100124151