智能
助手
最大化  清空记录 停止  历史记录
翻译选中文本
选中一段文本后进行翻译
名词解释
选中一段文本后进行名词解释
知识图谱生成
通过图谱展示知识信息
登录用户在知识浏览页面可用
答案生成
AI自动回答一个问答功能中的问题
登录用户在问答浏览页面,且问题开放回答中可用
知识摘要
自动为当前知识生成摘要
知识浏览页面可用
知识问答
针对当前知识进行智能问答
知识浏览面可用
2020-03-29 02:35:46 版本 : 1 Docker介绍
作者: wyasw 于 2020年03月29日 发布在分类 / Docker / docker基础 下,并于 2020年03月29日 编辑
 历史版本

备注 修改日期 修改人
创建版本 2020-03-29 02:35:46[当前版本] 系统管理员

Docker介绍

1.1 什么是docker

Docker是基于go语言实现的开源容器项目。

官网网站为docker.com.

Docker项目已加入linux基金会,并遵循Apache2.0协议,全部开源代码均在https://githup.com/docker项目仓库中进行维护。

容器技术:容器有效的将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与虚拟化相比,这样既不需要指令级模拟,也不需要及时编译。容器可以在核心CPU本地运行指令,而不需要任何专门的解释机制。此外,也避免了准虚拟化(para-virtualization)和系统调用替换仲的复杂性。

简单的讲,读者可以将docker容器理解为一种轻量级的沙盒(sandbox),每个容器运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。容器的创建停止十分快速,几乎跟创建和终止原生应用一致;另外,容器自身对系统资源的额外需求也十分有限,远远低于传统虚拟机,很多时候,甚至直接把容器当作应用本身也没有任何问题。

Docker以及其它容器技术都属于操作系统虚拟化这个范畴。传统方式是在硬件层次实现虚拟化,需要有额外的虚拟机 管理应用和虚拟机操作系统层。Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。

1.2 Docker核心概念:镜像、容器、仓库

1docker镜像:docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。镜像是创建docker容器的基础。通过版本管理和增量的文件系统,docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并直接使用。

2docker容器:docker容器类似一个轻量级的沙箱,docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器彼此相互隔离、互不可见的。可以把容器看做一个简易版的linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。#注意:镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

3docker仓库:docker仓库类似于代码仓库,是docker集中存放镜像文件的场所。Docker仓库可以分为公开仓库(public)和私有仓库(private)两种形式。目前,最大的公共仓库是官方提供的docker hub,其中存放着数量庞大的镜像供用户下载。当然,用户如果不希望公开分享自己的镜像文件,docker也支持用户在本地网络内创建一个只能自己访问的私有仓库。当用户创建了自己的镜像之后就可以使用push命令将它上传到指定的共有或者私有仓库。这样用户下次在另外一台机器上使用该镜像时,只需要将其从仓库上pull下来就可以了。

1.3 docker引擎

Docker引擎是使用docker容器的核心组件,可以再主流的操作系统和云平台上使用,包括linux操作系统,maxOSwindows操作系统,以及IBM、亚马逊、微软等知名平台。

Docker引擎:包括支持再桌面系统或云平台安装docker,以及为企业提供简单安全弹性的容器集群编排和管理;

DockerHub:官方提供的云托管服务,可以提供公有或私有的镜像仓库。

DockerCloud:官方提供的容器云服务,可以完成容器的部署与管理,可以完整地支持容器化项目,还有CICD功能。

Docker引擎目前分为两个版本;社区版本和企业版本。社区版本每个月会发布一次尝鲜(Edge)版本,每个季度(36912月)会发行一次稳定(stable)版本。版本号命名格式为“年份.月份”

1、使用最广泛的开源容器引擎

2、一种操作系统级的虚拟化技术

3、依赖于Linux内核特性:NamespaceCgroups

4、一个简单的应用程序打包工具

1.4 Docker在开发和运维中的优势

1、更快速的交付和部署

2、更高效的资源利用

3、更轻松的迁移和扩展

4、更简单的更新管理

1.5 Docker基本组成

1、Docker Client:客户端

2、Docker Daemon:守护进程

3、Docker Images:镜像

4、Docker Container:容器

5、Docker Registry:镜像仓库

粘贴图片


1.6 容器vs虚拟机

Container

VM

启动速度

妙级

分钟级

运行性能

接近原生

5% 左右损失

磁盘占用

MB

GB

数量

成百上千

一般几十台

隔离性

进程级别

系统级(更彻底)

操作系统

只支持 Linux

几乎所有

封装程度

只打包项目代码和依赖关系,共享诉诸主机内核

完整的操作系统

1.7 Docker应用场景

1、应用程序打包和发布

2、应用程序隔离

3、持续集成

4、部署微服务

5、快速搭建测试环境

6、提供PaaS产品(平台即服务)

历史版本-目录  [回到顶端]
    文艺知识分享平台 -V 5.2.5 -wcp