一、Docker简介
1.1docker是哪些
【问题】:问哪些会有docker出现
Docker的出现促使Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外查看linux是什么系统,运作应用程式所须要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。
【docker理念】:解决了运行环境和配置问题的软件容器,便捷持续承继并有助于整体发布的容器虚拟化技术。
1.2能干哪些
1.2.1技术职级变化
coder->programmer->softwareengineer->DevOpsengineer
1.2.2开发/运维(Devops)新一代开发工程师
1.3下载地址
官网:
DockerHub官网:
二、Docker安装
2.1前提说明
2.1.1CentOSDocker安装
2.1.2前提条件
目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS7(64-bit)上,要求系统为64位docker 安装,Linux系统内核版本为3.8以上,这儿选用Centos7.x
2.1.3查看自己的内核
uname命令用于复印当前系统相关信息(内核版本号,硬件构架,主机名称和操作系统类型等)。
2.2Docker的基本组成
2.2.1镜像(image)
Docker镜像(Image)就是一个只读的模板。镜像可以拿来创建Docker容器,一个镜像可以创建好多容器。
它也相当于是一个root文件系统。诸如官方镜像centos:7就包含了完整的一套centos:7最小系统的root文件系统。
相当于容器的“源代码”,docker镜像文件类似于Java的类模板,而docker容器实例类似于java中new下来的实例对象。
2.2.2容器(container)
Docker借助容器(Container)独立运行的一个或一组应用docker 安装,应用程序或服务运行在容器上面linux格式化命令,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。如同是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每位容器都是互相隔离的、保证安全的平台
可以把容器看做是一个简易版的*Linux*环境(包括root用户权限、进程空间、用户空间和网路空间等)和运行在其中的应用程序。
2.2.3库房(repository)
库房(Repository)是集中储存镜像文件的场所。
类似于
Maven库房,储存各类jar包的地方;
github库房,储存各类git项目的地方;
Docker公司提供的官方registry被称为DockerHub,储存各类镜像模板的地方。
库房分为公开库房(Public)和私有库房(Private)两种方式。
最大的公开库房是DockerHub(),
储存了数目庞大的镜像供用户下载。国外的公开库房包括阿里云、网易云等
2.2.4小总结
2.3.2整体构架及底层通讯原理阐述
Docker是一个C/S模式的构架,前端是一个松耦合构架,诸多模块各司其职
2.3.3Docker运行的基本流程为:
用户是使用DockerClient与DockerDaemon构建通讯,并发送恳求给前者。DockerDaemon作为Docker构架中的主体部份,首先提供DockerServer的功能时期可以接受DockerClient的恳求。DockerEngine执行Docker内部的一些列工作,每一项工作都是以一个Job的方式的存在。Job的运行过程中,当须要容器镜像是,则从DockerRegister中下载镜像,并通过镜像管理驱动Graphdriver将下载镜像以Graph的方式储存。当须要为Docker创建网路环境时,通过网路驱动Networkdriver创建并配置Docker容器网路环境。当须要限制Docker容器运行资源或执行用户指令等操作时,则通过Execdriver来完成。Libcontainer是一项独立的容器管理包,Networkdriver以及Execdriver都是通过Libcontainer来实现具体容器进行的操作。
2.4、安装步骤
2.4.1CentOS7安装Docker
三、Docker常用命令