小言_互联网的博客

1、docker概念

315人阅读  评论(0)

docker官网地址:www.docker.com

一、docker是什么?

 docker是docker.inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于GO语言开发,并遵从Apache2.0协议。通过分层镜像标准化和内核虚拟化技术,docker使得应用开发者和运维工程师可以以统一的方式化平台发布应用,并且几乎没有额外开销的情况下提供资源隔离的应用运行环境

二、docker给运维带来的改变

  以前的生产流程
  1、rd(开发)开发产品需要配置开发环境
  2、rd进行测试需要配置测试环境
  3、OP(运维)上线产品需要配置线上环境
  4、这三个环境可能都不一样,一些大一点的公司测试环境和线上环境是一样的,如果测试没有问题直        接迁移到线上环境。
  5、但是小一点的公司测试环境就比开发环境好一点,线上环境也不一样,这样会导致产品在不同的环境中有不同的问题,这样就会导致开发,运维,测试互相甩锅,增加了沟通成本。这样导致了DEVOPS的出现。
 改变(减少了沟通成本)
1、rd开发产品的开发环境配置在docker容器里
2、开发好了之后把容器打包成镜像交给运维,运维把产品上线.

三、daocker和虚拟机的区别

作为一种轻量级的虚拟化方式。docker和传统的虚拟机相比具有显著的优势。
docker容器很快,启动和停止可以在秒级实现,比传统虚拟器要快很多,docker核心解决的问题是利用容器来实现类似VM 的功能,从而利用更加节省的迎接资源提供给用户更多的计算资源,所以docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,从而保证应用性能的同时,减少系统开销,使得一台主机上同时运行数千个docker容器成为可能,docker操作方便,还可以通过dockerfile配置文件来支持灵活的自动化创建和部署。

    daocker之所以拥有更多的优势,与操作系统虚拟化自身的特点是分不开的,传统虚拟机需要有额外的虚拟机管理程序和虚拟机操作系统层,而docker容器时直接在操作系统层面之上实现的虚拟化。

四、docker对服务器端开发/部署带来的变化

实现更轻量级的虚拟化,方便快速部署
对于部署来说可以极大地减少部署的时间成本和人力成本
docker支持将应用打包进一个可移植的容器中,重新定义了应用开发,测试,部署上线的过程,核心理念就是Build once any where
(1)标准化应用发布,docker容器包含了运行环境和可执行程序,可以跨平台和主机使用
(2)节约时间,快速部署和启动,VM启动一般是分钟级,docker容器启动时秒级
(3)方便构建基于SOA架构或微服务架构的系统,通过服务编排,更好的松耦合
(4)节约成本,以前一个虚拟机至少需要几个G的磁盘空间,docker容器可以减少到MB
(5)方便持续集成,通过与代码进行关联使持续集成非常方便
(6)可以作为集群系统的轻量主机或节点,在laaS平台上,已经出现了SaaS,通过容器

五、docker优势

(1)交付物标准化
(2)一次构建,多次交付
(3)应用隔离

六、docker的基本概念

1、docker系统有两个程序
(1)docker服务端和docker客户端。
docker服务端是一个服务进程,管理者所有的容器。
docker客户端则扮演着docker服务端的远程控制其,可以用来控制docker的服务端进程
大部分情况下,docker服务端和客户端运行在一台机器上。
(2) docker采用C/S架构开发

七、docker的核心组件

1、镜像(docker images)(运行起来的镜像就叫容器)
①docker的镜像(image)是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向docker容器引擎的只读模板。比如,一个镜像可以使一个完整的CentOS操作系统环境,成为CentOS镜像,也可以是一个安装了MySQL的应用程序,称为一个MySQL镜像,等等。
docker提供了简单的机制来创建和更新现有的镜像,用户也可以从网上下载已经做好的应用镜像来直接使用。
②镜像名字的格式:registry/repo:tag
daocloud.io/library/centos:7(仓库/目录/镜像)
还可以用镜像ID来表示: 64位的id号
③docker镜像由多层文件系统组成,最上层的文件系统能看见下层文件系统的东西
比如:centos:7(镜像称为父镜像)----运行成容器-----安装nginx-----打包成镜像(子镜像)-------打包的镜像还可以运行成容器(打包的镜像都称为子镜像)

2、容器( docker containers)(停止的容器就叫镜像)
docker的容器(Container)是从镜像创建的运行实例。他可以被启动,停止,删除,所创建的每个容器都互相隔离,互不可见,可以保证安全性的平台,可以把容器看做一个 简易版的linux环境,docker利用容器来运行和隔离应用。
3、仓库(docker registeries)(公有库名字叫docker.io)
docker仓库(Repository)是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用PUSH命令将它上传到公有仓库(Public)或者私有仓库(Private),这样一来当下次要在另外一台机器上使用这个镜像时,只需要从仓库上拉取下来就可以了。
仓库注册服务器(Registry)是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一类的镜像,并且使用不同的标签(Tag)来区分它们。


转载:https://blog.csdn.net/qq_43542988/article/details/101389215
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场