Docker系列之原理简单介绍
Docker系列之原理简单介绍
@
Docker是一个开源的应用容器引擎;是一个轻量级容器技术;
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。
1.1、Docker架构简介
Docker 使用客户端-服务器 (C/S) 架构模式,先给出官方的图:
从图示,先列出主要的构件
- host:docker主机,安装了docker的操作系统
- client:docker客户端,也一般是在操作系统
- registry:docker仓库,存放镜像的地方,图示可以看出,分为docker hub(docker远程仓库)、private registry(私人的docker仓库)
- images:docker镜像,存放在docker仓库里,就像window系统的exe文件一样,需要安装才能使用
- container:docker容器,镜像启动后的实例就是容器,就像window的exe文件(镜像)安装之后才能使用
所以,Docker的使用步骤:
- 安装Docker
- 去Docker仓库查找镜像
- 下载Docker镜像
- 运行镜像,生成容器
1.2、Docker 两个主要部件
- Docker: 开源的容器虚拟化平台
- Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台
Docker是一个重新定义了程序开发测试、交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是Docker提出的"Build once,Run anywhere"
1.3、虚拟机和Docker对比:
对比一下虚拟机和Docker,虚拟机是一种模拟了操作系统全部或者部分硬件的软件,所以运行起来会比较慢,相当于启动了一个操作系统,而Docker不一样,docker运行起来只是一个进程,这个进程叫容器,所以Docker技术又叫容器技术,Docker比较轻量级启动很快,所以一台机器是可以启动多个Docker进程的
1.4、Docker内部结构
理解 Docker 内部构建要先了解docker的重要概念:
- Docker 镜像 ( Docker images)
- Docker 仓库 (Docker registeries)
- Docker 容器 (Docker containers)
镜像:镜像是用来创建Docker容器的,Docker 镜像就是一个只读的模板,其实镜像就是一种文件结构,文件后缀名就是.iso,有重装过操作系统的可能比较熟悉,重装系统时候也是需要下载iso镜像的,当然docker的镜像没操作系统那么庞大
容器:容器是由镜像创建的运行实例,可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。Docker通过容器运行应用
仓库:仓库是集中存放镜像文件的场所,仓库注册服务器(Registry)上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。目前,最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
ok,有了这些必要的理论知识之后,你可能不是很理解,所以要去实践一下就清楚了,所以详情参考我的博客:Docker系列之常用命令操作手册,我的Docker博文专栏:Docker系列博客专栏
Docker系列之原理简单介绍的更多相关文章
- Docker系列-(1) 原理与基本操作
Docker是一个开源的应用容器引擎,基于Go语言,并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器 ...
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
- LDAP服务器的概念和原理简单介绍
LDAP服务器的概念和原理简单介绍 1. 目录服务 目录是一个为查询.浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样.目录数据库和关系数据库不 ...
- CAS单点登录原理简单介绍
1. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统. ...
- Android通过辅助功能实现抢微信红包原理简单介绍
简书文章:https://www.jianshu.com/p/e1099a94b979 附抢红包开源项目地址,代码已全改为Kotlin了,已适配到最新微信7.0.5版本,如果对你有所帮助赏个star吧 ...
- dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- 【Dubbo基础】dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- 初学HTML5系列一:简单介绍
最近很闲,就想着学点东西,然后就瞄中了html5,以前只看过很简单的一些,这次是系统的学下,顺便也记录下.废话不多说,开始正题. 稍微介绍下html5,html5是W3C和WHATWG 合作的结果. ...
- 【Zookeeper系列】Zookeeper简单介绍(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4033574.html 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技 ...
随机推荐
- NFS介绍、服务端安装配置、NFS配置选项
6月21日任务 14.1 NFS介绍14.2 NFS服务端安装配置14.3 NFS配置选项 14.1 NFS介绍 14.2 NFS服务端安装配置 1.首先需要2台机器,一台是服务端,一台是客户端,分别 ...
- 循环神经网络(RNN)的改进——长短期记忆LSTM
一:vanilla RNN 使用机器学习技术处理输入为基于时间的序列或者可以转化为基于时间的序列的问题时,我们可以对每个时间步采用递归公式,如下,We can process a sequence ...
- su和sudo的区别与使用【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- DateTime格式转换部分介绍
DateTime与字符串转换: DateTime()与转换为字符串主要依靠DateTime().ToString(string format) 函数,以我的理解,参数format大体分为单个字母和多个 ...
- 转:关于JAVA项目中CLASSPATH路径详解
在dos下编译Java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候.classpath就是存放.class等编译后文件的路径. javac:如果当前你要编译的Java文件中 ...
- go基础之并发
1.Goroutines是轻量级线程 2.channels的同步通信 1.Goroutines是轻量级线程 go语句在单独的线程中运行一个函数. 你可以使用go语句启动一个新的执行线程,即一个goro ...
- 最全的三剑客和linux正则符号讲解
第2章 linux符号系列与三剑客 194 2.1 特殊符号系列 194 2.1.1 普通符号系列 194 2.1.2 引号符号系列 196 2.1.3 定向符号 197 ...
- [权限管理系统(四)]-spring boot +spring security短信认证+redis整合
[权限管理系统]spring boot +spring security短信认证+redis整合 现在主流的登录方式主要有 3 种:账号密码登录.短信验证码登录和第三方授权登录,前面一节Sprin ...
- CSS让高度百分百的方案
一般用来上下所有居中,但是这时候auto的计算是全屏像素,从而得到满屏 position: fixed; left: 0px; right: 0px; top: 0px; bottom: 0px; m ...
- Java做成Zip文件,Java实现压缩文件
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...