从图片中就可以看出来,docker的创建和开发者们的意图。鲸鱼——宿主机,块状箱——隔离的容器(后面介绍什么是docker容器)。而docker的宗旨:Build、Ship and Run Any APP,Any开发云主机域名where。具体而言,就是通过对应应用组件的封装、发布、部署、运行等生命周期的管理,从而达到应用组件级别的“一次封装、处处运行”的目的。举个例子就好比自己开发了一款应用软件,希望它在任何地点,任何时间、任何操作系统中都可以使用的时候,就可以将它基于docker来实现。当然,对于docker而言,这个组件可以是一个应用,也可以是一个配置,甚至可以是一个完整的操作系统。其实docker的出现对于开发人员是莫大的福音。设想目前或未来基于云平台的应用或软件的开发,脱离了底层的硬件,而使用者需要在任何时间、任何地点都可以获取相关的资源,那么docker便可以提供这样的诉求。下面直接给出docker容器与传统虚拟机的比较docker核心解决的问题是利用容器实现类似VM的功能,从而以更加节省的硬件资源给用户提供更多的计算资源,并且docker操作方便,还可以通过Dockerfile配置文件支持灵活的自动化创建和部署。接下来看一下Docker与传统虚拟机架构的对比:
通过上图发现,虚拟机是在物理资源层面实现的隔离,相对于虚拟机,Docker是基于APP层面实现的隔离,并且省去了虚拟机操作系统,从而节省了一部分的系统资源。Docker守护进程可以直接与主操作系统进行通信,为各个Docker容器分配资源;它还可以将容器与主操作系统隔离(为了安全),并将各个容器互相隔离。虚拟机启动需要数分钟,而Docker容器可以在数毫秒内启动。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源。简单来说,虚拟机和docker的区别就在于虚拟机需要通过Hypervisor对硬件资源也进行虚拟化,而docker是直接使用宿主机的硬件资源的,因此虚拟机的隔离性更加彻底,而docker的隔离性次之。可以理解为类似我们虚拟机中的快照,是创建容器的基础,可以说无镜像,不容器。基于镜像创建的运行实例,可以被启动、停止和删除。每个容器之间都是相互隔离、互不可见的。保存镜像的地方,可以理解为镜像囤积地。可以将自己创建的进行推送到仓库中,方便随时随地拉取使用。仓库注册服务器(registry)是存放仓库的地方,其中包含了多个仓库,每个仓库中存放一类镜像,并且使用不同的标签(tag)来区分。目前最大的公共仓库就是Docker Hub,其中存放了数量庞大的镜像给用户下载使用。Docker使用客户端-服务器架构。Docker
客户端与Docker
守护进程进行对话,该
守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序
可以在同一系统上运行,或者您可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在UNIX套接字或网络接口上使用REST API进行通信。架构图示:
基于Linux/
CentOS7的安装部署流程如下:操作系统版本:centos7.7说明:安装yum-utils软件包是为了提供一个yum-config-manager单元,同时安装的device-mapper-persistent-data和lvm2用于存储设备映射必须的两个软件包。说明:tee
命令——从标准输入写往文件和标准输出,即把标准输入的数据复制到每一个文件FILE, 同时送往标准输出。本文主要介绍了docker的作用,将之与传统虚拟机进行特性对比,以及架构层面的对比,接着讲述有关docker的核心三大组成,最终给出基于Linux下Centos7操作系统中docker的安装流程。原文地址:
https://www.linuxprobe.com/docker-logo.html
相关推荐: 数据是种高级商品,您是否做足了功课保护和管理它们?
数据是一种高级商品,这使得管理数据变得异常重要,如若没有正确的工具和策略,您的数据可能就没有您想像的那么安全。 l 使用防火墙保护公司的网络安全 l 每隔90 天要求您的员工更改一次密码 l 确保公司设备强化了安全设置 l 实施年度安全简报,内容涉及强密码的重…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。