Docker简单介绍
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。
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
Docker简单介绍的更多相关文章
- docker简单介绍----镜像和容器管理
docker可以分为三部分:docker镜像 docker仓库 docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...
- docker 简单介绍及基础命令运用
一.什么是docker? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. 简单的来讲Docker实际上就是一个大型容器.容器是完全使用沙箱机制,相互之间不 ...
- docker简单介绍----Dockerfile命令
DockerFile的组成部署: 下面优先介绍下Dcokerfile的基础指令 一.CMD指令:容器启动时要莫热门运行的命令,如果有多个CMD指定,最后一个生效 使用方法: CMD ["ex ...
- Docker系列(一):Docker简单介绍
Docker简介: 多语言和框架:支持多语言和框架以及语言框架的扩展机制 多服务:开放的核心服务以及服务的扩展机制 多云和多IaaS技术:支持多种IaaS技术和多云的部署,包括公有云和私有云 Dock ...
- docker简单介绍。
docker是啥? 一.概念? // 和运维有关的工具,和开发没有很大的关系.只需要去调试项目,将项目运行更迅速. 二.作用? 1.只需要关心项目的编写和调试,不需要关心具体的项目需要运行在哪里,并且 ...
- docker简单介绍----存储
docker容器 中使用Volumes来实现数据的持久性,因为容器的删除会丢失数据,而关闭或者重启容器不会丢失数据 docker run -v即可使用Volumes 1.docker-managed ...
- docker简单介绍---部署私有docker仓库Registry
1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有 ...
- docker简单介绍----docker仓库的应用
docker hub:主要用来存储docker镜像的仓库 docker默认提供了一个docker仓库,我们也可以自建私有仓库或者使用第三方的docker仓库来pull或者push镜像 这里我们以阿里云 ...
- docker简单介绍---网络端口管理
一.查看docker支持的网络类型 docker network ls bridge:容器使用虚拟交换机的进行通信 host:使用宿主机的网络 none:只给容器分配一个lo的网卡,无法和外界进行通信 ...
随机推荐
- linux之SQL语句简明教程---LIKE
LIKE 是另一个在 WHERE 子句中会用到的指令.基本上,LIKE 能让我们依据一个套式 (pattern) 来找出我们要的资料.相对来说,在运用 IN 的时候,我们完全地知道我们需要的条件:在运 ...
- linux之模拟简单登录的脚本
脚本如下: 运行结果:
- [笔记] /etc/init.d/ 下脚本的通用结构
http://sunxiaqw.blog.163.com/blog/static/99065438201111715813443/ 下面以 named 为例 : #!/bin/bash # # nam ...
- Seeding(dfs)
Seeding Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submi ...
- 反对抄袭 正解spring的@Autowired 不要相信网上的错误版本
首先,最重要的, @Autowired的就是用来来消除 set ,get方法. 有些介绍,如著名的马士兵,说要在set方法上进行注入.我当时就看不明白了,既然只取消了一个GET,这个@Autowire ...
- cmd命令大全/cmd命令提示符大全
刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令.所以学DOS系统操作,cmd命令提示符是不可或缺的.可以告诉大家,大多数的 ...
- CF#263
昨天没打,今天写了一下,前三题都没有难度吧. A. Appleman and Easy Task time limit per test 1 second memory limit per test ...
- Sequence one(hdu2610dfs+去重)
题目:有一个数列N,和一个数字k,输出该数列的前k个子序列,如果k大于N的所有子序列,输出所有符合要求的序列,序列要求不能是递减序列 比如: 3 5 1 3 2 的前五个序列为 1 3 2 1 3 1 ...
- JQ对JSON的增删改
var userlist={ }, } } //方法一 userlist.row1.sex="女";//添加 userlist.row3={name:};//添加 userlist ...
- windows server 2003进行相邻磁盘扩容(server 2008的直接右键就可以解决)
vCenter下的win server 2003 的D盘需要扩容,解决办法是,先将D盘由原来的200GB增加到了2TB(win server 2003选择MBR的限制),重启win server 20 ...