您的位置:首页 > 运维架构 > Docker

Docker(一) Docker入门简介

2019-06-04 18:57 447 查看

什么是Docker

Docker是一种容器技术,是用于在某种程度上替换系统虚拟化的解决方案。 使用Docker可以很快速及便捷的交付应用,不用在考虑硬件及系统的兼容性,使而更关注与业务的发展。

Docker 和硬件虚拟化方式的差异在于Docker是在OS层面上实现虚拟化,而基于硬件虚拟化方式则是在HW层面实现。

P.S. 图片来自网络

为什么用docker

使用Docker可以更敏捷的在开发流程中快速迭代的不停创建应用版本,而且便于在不同的环境(开发、生产、测试)中实现隔离,而且对于容器的创建是秒级的,高效的进行部署和扩容。

高效的部署和扩容

Docker可以运行于windows、linux、macos等,无论硬件层面是否存在差异都不影响对容器的迁移。对于容器的批量创建基本都是秒级别实现快速的大量容器创建,用户可以通过脚本、配置中心等去实现不同环境的隔离和管理。

更高的资源利用率

Docker对于硬件资源的利用是复用Docker主机操作系统的,基本除了对容器运行的应用会消耗硬件资源、本身的容器系统所占用的硬件资源开销是非常低的。对于容器来讲,可以极高的利用到系统的硬件资源。

更简单的管理

Docker定义了镜像之后,可以依赖于配置中心、脚本等工具实现批量的程序配置更新,取代传统的人工手动实现配置的修改或发布。从而可以更加高效的实现自动化管理。

Docker服务架构

Docker引擎是一个Client/Server结构的应用,Client通过REST API与Server进程通信实现容器、镜像、网络、卷等资源的管理。

P.S. 图片来自网络

相关的资源概念

镜像(image)

镜像包含了系统及应用。对于用户只能在镜像新增一个写入层实现封装,无法在原有镜像直接写入修改。用户可以使用镜像创建 Docker 容器。

仓库(repository)

仓库是用于镜像文件的托管。用户可以使用仓库对镜像进行取出(pull)或者存入(push)及删除等操作的管理。

容器(container)

容器是用于运行应用的载体,并且容器是基于镜像进行运行的,在运行中数据是相当于在镜像的只读层上在加多了一层可写层,用户可以基于镜像创建一个或多个容器。

数据卷(volumes)

数据卷是提供持久化数据的载体。在容器中,数据会随着容器的生命周期关闭而消失,但在数据卷中数据是持久化的。

网络(network)

网络(network)是为了实现容器间或容器与外接进行通信,Docker提供了6种网络模式来解决不同场景下的连接方案,分别是bridge、host、overlay、macvlan、none、network plugin。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: