Docker学习笔记什么是Docker
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习笔记什么是Docker相关的知识,希望对你有一定的参考价值。
Docker学习笔记(一)什么是Docker
Docker:容器技术是虚拟化技术的一种,是操作系统的虚拟化。
传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用。
操作系统虚拟化:docker是操作系统虚拟化,借助操作系统内核特性(命名空间、cgroups)实现,不需要模拟硬件行为,不需要安装操作系统。
优点:
硬件虚拟化需要安装操作系统占用空间大。
硬件虚拟化需要模拟硬件系统行为,内存和cpu消耗更大。
缺点:
容器进程崩溃,可能影响宿主机进程。
举例:128G内存,模拟100个硬件虚拟机,1000个docker容器。
以上可知,同样配置的的服务器,使用容器技术比使用虚拟机可以提供更多的服务能力,服务更多的用户。
最初,容器技术比较复杂,依赖Linux操作系统内核特性,不易安装和实现自动化,不易于使用。
Docker的出现就是为了改变这一切的。
Docker由dotCloud公司(现在的Docker公司)2013年初发布,基于apache2.0的开源授权协议。
Docker使用go语言编写,Github地址:https://github.com/docker/docker
Docker文档:https://docs.docker.com
Docker特别之处,在虚拟化的容器执行环境中,增加了一个应用程序部署引擎,提供轻量快速的环境,
能够运行开发者程序,能够方便高效的将应用程序部署到测试环境、生产环境。
Docker能够将应用程序自动部署到容器。
Docker的目标
- 简单轻量的建模方式
- 职责的逻辑分离:开发人员关心容器中的运行程序,运维人员只需要关心如何管理容器。
- 快速高效的开发生命周期:在容器中开发,以容器方式交付和分发,开发、测试、生产环境一致,避免了额外的开销。
- 鼓励使用面向服务的架构:单个容器只运行一个应用程序或进程,扩展调试简单,高内聚、低耦合和单一任务。
Docker的使用场景
- 使用Docker容器开发、测试、部署服务
- 构建多用户的平台即服务paas基础设施
- 提供软件即服务saas的应用程序
Docker的基本组成:
Docker客户端:本地或远程
Docker服务端:守护进程Docker Daemon
Docker镜像:打包阶段,层叠的只读文件系统,引导-》root(ubuntu、centos)-》...
Docker容器:执行阶段,容器通过镜像启动,在可写层复制写入,屏蔽只读文件。
Docker仓库:docker registry仓库,
公有仓库Docker hub,
私有仓库。
以上是关于Docker学习笔记什么是Docker的主要内容,如果未能解决你的问题,请参考以下文章