您的位置:首页 > 运维架构 > Docker

docker相关概念记录

2017-11-23 16:45 323 查看
Docker是直接运行在当前操作系统(Linux)之上,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远高于虚拟机技术。Docker支持将软件编译成一个镜像(Image),在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行的镜像称之为容器(Container),容器的启动是非常快的,一般都是以秒为单位。目前主流的软件及非主流的大部分软件都有人将其封装成Docker镜像,我们只需要下载Docker镜像,然后运行镜像就可以快速获得已做好配置可运行的软件。Docker不是为开发测试方便而提供的小工具,而是可以用于实际生产环境的一种极好的部署方式。
因为Docker的运行原理是基于Linux的,所以Docker只能在linux下运行。也就是说真正的生产环境下,基于Docker的部署只能在Linux上,但是我们在开发环境测试的时候,Docker是可以在Windows下运行的,运行的原理是启动一个VirtualBox虚拟机,然后在此虚拟机里运行Docker。

名词解释

在接触docker的过程中经常遇到以下三个缩写:
CaaS容器即服务(Containers as a Service)
IaaS基础设施即服务(Infrastructure as a Service)
PaaS平台即服务(Platform-as-a-Service),它是这样一个云计算:平台提供了云存储、数据库、网络、负载均衡、自动扩展等功能,你只需将你的程序交给云计算平台就可以了。
SaaS软件即服务(Software-as-a-Service)

三者有什么区别?
开发一个网站,传统上会先去买服务器,安装服务器软件,然后编写网站程序;
自从有了云计算,如果采用IaaS服务,那么你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件;
更进一步,软件也不想写,直接使用别人开发好的程序比如在线网点的服务,那么从服务器的部署,扩容,软件升级安装等都不需要我们操心,此为SaaS。

服务编排

编排的重点是服务可以接服务,因此往往上一个服务的输出将成为下一个服务的输入信息,上一个服务进行服务调用和计算得到结果后,将输出信息直接和下一个服务的输入信息进行映射。就达到基本的服务组装和编排的目的。
docker是一个容器,容器是对软件的包装,老外把容器和集装箱统称为container,其实docker只引用了集装箱这个概念;而虚拟化是对操作系统的包装。
可以这么认为,对于应用软件,镜像是软件生命周期的构建和打包阶段,而容器则是启动和运行阶段。

docker 镜像加速器

https://dashboard.daocloud.io 到daocloud官网注册账号,会默认分配一个地址,我的是 http://6cd2976e.m.daocloud.io
根据说明文档的指引,在Docker Toolbox下执行给出的一串命令,即可。
其中,如果是linux环境,daocloud给的命令执行后会在/etc/docker/daemon.json生成一个对象,这里多了一个逗号,导致docker启动报错,去掉就好了。

参考:https://www.zhihu.com/question/20387284
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: