1.Docker简介

Docker 概述

Docker是一个开源的容器引擎 ,它可以帮助我们更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可更快地打包、测试以及部署应用程序,并可减少从编写到部署运行代码的周期

Docker 版本

docker有两个版本
  • 社区版 Community Edition (CE)
  • 企业版 Enterprise Edition (EE)

社区版 (CE) 对于希望开始使用Docker并尝试基于容器的应用程序的个人开发人员和小型团队非常理想.

企业版 (EE) 由公司支持,可在经过认证的操作系统和云提供商中使用,并可运行来自Docker Store的、经过认证的容器和插件

 

功能社区版基本企业版标准企业版高级企业版

容器引擎和内置编配、网络、安全

yesyesyesyes
认证的基础设施,插件和ISV容器 yesyesyes
镜像管理  yesyes
容器应用程序管理  yesyes
镜像安全扫描   yes

docker架构

 

我们来讲解图中包含的组件。
 
(1) Docker daemon(Docker守护进程)
 
Docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程。我们可通过Docker客户端与之通信。
 
(2) Client(Docker客户端)
 
Docker客户端是Docker的用户界面,它可以接受用户命令和配置标识,并与Docker daemon通信。图中,docker build等都是Docker的相关命令。
 
(3) Images(Docker镜像)
 
Docker镜像是一个只读模板,它包含创建Docker容器的说明。它和系统安装光盘有点像——我们使用系统安装光盘安装系统,同理,我们使用Docker镜像运行Docker镜像中的程序。
 
(4) Container(容器)
 
容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。我们可通过Docker API或者CLI命令来启停、移动、删除容器。
 
(5) Registry
 
Docker Registry是一个集中存储与分发镜像的服务。我们构建完Docker镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,我们就需要手动拷贝。此时,我们可借助Docker Registry来避免镜像的手动拷贝。
 
一个Docker Registry可包含多个Docker仓库;每个仓库可包含多个镜像标签;每个标签对应一个Docker镜像。这跟Maven的仓库有点类似,如果把Docker Registry比作Maven仓库的话,那么Docker仓库就可理解为某jar包的路径,而镜像标签则可理解为jar包的版本号。
 
Docker Registry可分为公有Docker Registry和私有Docker Registry。最常用的Docker Registry莫过于官方的Docker Hub,这也是默认的Docker Registry。Docker Hub上存放着大量优秀的镜像,我们可使用Docker命令下载并使用。

与虚拟机比较

 

  • Hypervisor层被Docker Engine取代。
  • 虚拟机利用Hypervisor虚拟化CPU、内存、IO设备等实现的,然后在其上运行完整的操作系统,再在该系统上运行所需的应用。资源隔离级别:OS级别
  • 运行在Docker容器中的应用直接运行于宿主机的内核,容器共享宿主机的内核,容器内部运行的是Linux副本,没有自己的内核,直接使用物理机的硬件资源,因此CPU/内存利用率上有一定优势。资源隔离级别:利用Linux内核本身支持的容器方式实现资源和环境隔离。
 
提示:
(1) Docker官方网站:https://www.docker.com/
(2) Docker GitHub:https://github.com/docker/docker

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值