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的主要内容,如果未能解决你的问题,请参考以下文章

Docker入门-学习笔记

docker学习笔记

学习笔记 | 微服务与 Docker 是什么关系?

十分钟了解Docker(我的Docker学习笔记)

Docker学习笔记

Docker 学习笔记:第1节 初遇 Docker