博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker简单介绍
阅读量:6494 次
发布时间:2019-06-24

本文共 1201 字,大约阅读时间需要 4 分钟。

Docker简单介绍

Docker是一个能够把开发的应用程序非常方便地部署到容器的开源引擎。由Docker公司团队编写,基于Apache 2.0开源授权协议发行。Docker的主要目的例如以下:

提供一个简单的,轻量的建模方式

Docker上手快,仅仅须要几分钟就能够将自己的程序Docker化。Docker依赖写时复制技术,使改动应用程序非常迅速,达到“随心所至。代码即改”的境地。Docker启动速度非常快,大多数的Docker容器仅仅需不到1秒钟的时间就可以启动。因为除去了管理程序的开销。Docker容器拥有非常高的性能。一台宿主机能够同一时候执行非常多容器,要比虚拟机技术牛逼得多。

职责的逻辑分离

使用Docker,开发人员仅仅须要关系容器中执行的应用程序。而运维人员仅仅须要关心怎样管理容器。分离职责。

高速、高效的开发生命周期

Docker的目标之中的一个就是缩短代码从开发,測试到部署。上线执行的周期,让应用程序具备可移植性,易于构建,易于协作。

鼓舞使用面向服务的架构

Docker鼓舞面向服务的架构和微服务架构,推荐单个容器仅仅执行一个进程或程序。

这样就形成了一个分布式的应用程序模型,在这样的情况下,应用程序或者服务都能够表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序变得非常easy。同一时候也提高了程序的内省性。

Docker组件

Docker包括例如以下组件:

Dockerclient和server

Docker镜像(image)
Docker容器
Registry
至于这些名词具体表示什么意思。后面会有文章做具体的介绍。

Docker能做什么

我们能够使用Docker做例如以下一些事情:

加速本地开发和构建流程。使其更加高效,更加轻量化。

能够让独立服务或者应用程序在不同的环境红,得到同样的执行结果。

用Docker创建隔离的环境来进行測试。

Docker能够让开发人员非常easy地在本机构建一个复杂的环境进行測试。
构建一个多用户的平台即服务(PaaS)基础设施。
为开发,測试提供一个轻量级的独立沙盒測试环境。

提供软件即服务(SaaS)应用程序。如Memcached即服务。
高性能。超大规模的宿主机部署。

Docker的核心技术

  • 文件系统隔离:每一个容器都拥有自己的root文件系统。

  • 进程隔离:每一个容器都执行在自己的进程环境中。
  • 网络隔离:容器的虚拟网络接口和IP都是分开的。

  • 资源隔离和分组:使用cgroups将CPU和内存资源独立分配给每一个 Docker容器。
  • 写时复制:文件系统都是写时复制的,速度快,占用磁盘空间更少。
  • 日志收集:容器产生的stdin,stdout。stderr日志都会被收集并记录日志。
  • 交互式shell:用户能够创建一个伪tty终端,将其连接到stdin,为容器提供一个交互式的shell。

转载地址:http://nmkyo.baihongyu.com/

你可能感兴趣的文章
深入剖析Android系统试读样章
查看>>
测试用例出错重跑--flaky插件
查看>>
yaf的安装
查看>>
比较java与C++的不同
查看>>
Twitter Storm入门
查看>>
Windows 平台安装 MongoDB
查看>>
Linux Tar Split压缩解压缩分片压缩解压缩
查看>>
使用scikit-learn进行文本分类
查看>>
Ansible自动化运维配置与应用(结合实例)
查看>>
下面简要介绍软件工程的七条原理
查看>>
java POI实现excel实现表格导出
查看>>
Lua(三)——语句
查看>>
TensorFlow的基本运算01
查看>>
怎么看电脑有没有安装USB3.0驱动
查看>>
overflow清除浮动的原理
查看>>
Spring Boot 使用parent方式引用时 获取值属性方式默认@
查看>>
Elasticsearch之中文分词器插件es-ik(博主推荐)
查看>>
解决maven下载jar慢的问题(如何更换Maven下载源)
查看>>
linux安装gitLab
查看>>
concurrent包的实现示意图
查看>>