Docker入门介绍
Docker是一种虚拟化技术
刚開始看Docker,感觉非常抽象“An open platform for distributed applications for developers and sysadmins”这是Docker的标语。
“一个服务于分布式系统的开发人员和运维人员的开放平台”。不是非常好理解,直到文档中不断地和虚拟机做对照,才理解到它可能是和虚拟机相关的技术。Docker是LXC容器技术的典型代表,LXC技术能够实如今同一主机执行多个隔离的linux系统,通过linux内核功能实现轻量级的虚拟机。Docker技术尽管是虚拟化技术,却差点儿不消耗除容器中的应用程序外的其它资源,能够达到近乎裸机的执行能力,达到秒级/微秒级的部署。一台实体机能够执行几百甚至上千个docker容器。并且有非常高的移植性,能够在不论什么平台执行(包括物理机、虚拟机、云平台)。
普通虚拟机和Docker 容器的差别
每个虚拟机不仅包括程序、程序须要的包。并且还包括了一个操作系统,可是Docker容器是共享一个操作系统内核(kernel)的,这些容器通过命名空间相互独立,执行起来就像是在宿主机上的一个孤立的线程。并且他们的执行地点非常的多样化,不论什么设备都能够。
Docker的基本架构
Docker解决的问题
图中白色部分即为Docker
Build :docker同意开发人员把非常多微小的服务组装成一个应用。不用操心生产环境和开发环境因为环境问题而产生的问题。并且不用操心不论什么平台或者不论什么语言带来的困扰。
Ship(Docker Hub) : Docker能够让你用一个统一的用户接口设计从开发、測试到分发的一整套流程。
Run(Docker Cloud):Docker提供了帮你在多种平台安全、可靠的部署高可扩展的服务的能力。
Docker的结构
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
Docker也是用的C/S的架构。由Docker client向Docker daemon发消息,告诉Docker 须要做什么。Client和daemon能够在同一个操作系统下。也能够在远程。
两者联系的方式是:socket或者是RESTful API。
Docker daemon:docker daemon执行在宿主机上。用户不能直接操作daemon,仅仅能通过docker client转达。
Docker client:将用户的指令转发给Docker daemon,并接收Docker daemon返回的信息,展示给用户。
Docker images:Docker 镜像是一个仅仅读的魔板。比如:一个镜像能包括Ubuntu、Apache和你的应用。镜像被用于创建Docker容器,Docker提供了简单的方式去创建或者构建镜像。你也能够下载别人已经创建好的镜像。
Docker containers:Docker containers 有点像一个文件夹。
一个Docker容器包括了一个应用执行所须要的一切,每个容器都是由Docker镜像创建的,Docker 容器能够run、started、stopped、moved、或者deleted。
每个容器都是相互独立的。
Docker registries:Docker registries挂载了非常多镜像。有公共或者私有的仓库,让你去更新或者下载镜像。这些公共的Docker registry能够被Docker Hub提供。Docker Hub提供了非常多的镜像供你使用,你能够用这些镜像来创建自己的镜像或者直接使用。
Docker 工作流程:1、build 自己的Docker镜像 2、用自己创建的镜像创建容器 3、通过Docker Hub或者自己搭建的registry分享这些镜像
Docker组件
Docker Engine:提供了docker 创建镜像和执行容器等的核心方法。
Docker Hub:相似于gitHub的东西,只是上面是docker 镜像
Docker Machine :在云端或者其它网络环境中的Docker主机。
Docker Compose:用于定义多容器的应用。相当于省去了Docker container容器启动时输入的參数,让多种容器之间的关系更加清晰。构建多个容器更加方便。
Docker Toolbox:在Mac和Windows安装上的Docker安装程序,正常大家安装的Docker就是它,整合了全部的Docker 组件和工具。比如:Engine、Machine、Compose 还有Kitematic(可视化工具)。
Docker Trusted Registry;创建私有的专用的镜像仓库。
Docker Registry:创建开源的镜像仓库。
Docker Swarm:和Docker Machine一起配合做Docker集群相关的工作。
Docker入门介绍的更多相关文章
- 学习Mysql过程中拓展的其他技术栈:Docker入门介绍
一.Docker的介绍和安装 1. Docker是什么 百度百科的介绍: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...
- Docker入门-介绍和安装
Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于 ...
- Docker 入门介绍
Docker是什么 从发布到现在 docker一直很受关注,在一定程度是改变了软件行业 如果你还不知道 docker 是什么是不是有点out了,接下来我们来介绍docker是什么,解决了什么问题,好处 ...
- Docker入门教程(一)介绍
http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了 ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(七)Docker API
Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
随机推荐
- bzoj 1093 [ ZJOI 2007 ] 最大半连通子图 —— 拓扑+DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1093 先缩点,然后就是找最长链,DP一下即可: 注意缩点后的重边!会导致重复计算答案. 代码 ...
- [Apple开发者帐户帮助]二、管理你的团队(2)更改团队成员角色
如果您已加入Apple开发者计划,您将在App Store Connect中管理团队成员.有关详细信息,请转到App Store Connect帮助中的添加和编辑用户. 如果您已加入Apple Dev ...
- POI合并单元边框问题解决方法
http://blog.csdn.net/hardworking0323/article/details/51105430
- Spring Cloud (1) 服务的注册与发现(Eureka)
Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全 ...
- CSS中的五大字体家族(cursive 手写字体族更吸引我)
这是CSS中的五大字体家族. serifserif 中文翻译为“衬线字体族”.serif 具有末端加粗.扩张或尖细末端,或以实际的衬线结尾的一类字体.可以看出 serif 总是在文字末端做文章,这样做 ...
- Pull-up resistors
1 Introduction Pull-up resistors are very common in microcontrollers or any digital logic device. Wi ...
- DOM高级编程
前言:W3C规定的三类DOM标准接口(换图)Core DOM(核心DOM),适用于各种结构化文档:XML DOM(Java OOP学过),专用于XML文档:HTML DOM,专用于HTML文档,下面了 ...
- javaee utf-8文件的转换
package Zy; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.Fil ...
- 记录:通过SSH远程连接Ubuntu
一.安装openssh服务器 $ sudo apt-get install openssh-server 二.启动ssh服务 安装完成后,启动服务: $ sudo /etc/init.d/ssh st ...
- es6-Symbol用法
1.symbol概念 这种数据类型提供独一无二值 比如,在JS中,我可以通过数据类型生成变量a=number05,也可以生成b=nubmer05,这两个变量可以说是相等的. 但是用symbol生成的值 ...