1.1 Docker 概述

1.1.1 Docker 是什么?

Docker 是一个开源的容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何 Linux 机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或操作系统。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版)和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

官方网站:

Docker 官网:Home - Docker

Docker 的 github 地址:GitHub - moby/moby: Moby Project - a collaborative project for the container ecosystem to assemble container-based systems Docker hub 官网:Docker Hub

Dockerhub:Dockerhub 是 docker 官方的镜像存储站点,其中提供了很多常用的镜像供用户下载,如 ubuntu, centos 等系统镜像。通过 dockerhub 用户也可以发布自己的 docker 镜像,为此用户需要注册一个账号,在网站上创建一个 docker 仓库。

Docker 核心技术

  1. Namespace — 实现 Container 的进程、网络、消息、文件系统和主机名的隔离。

  2. Cgroup — 实现对资源的配额和度量。

注:Cgroup 的配额,可以指定实例使用的 cpu 个数,内存大小等。就像如下图,vmware 虚拟机 中的硬件配置参数。

1.1.2 Docker 优缺点

优点

  1. 快、小 比虚拟机小,比虚拟机快,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位。 Docker 启动一个容器实例时间很短,一两秒就可以启动一个实例。

  2. 敏捷 像虚拟机一样敏捷,而且会更便宜,在 bare metal(裸机)上布署像点个按钮一样简单。

  3. 灵活 将应用和系统“容器化”,不添加额外的操作系统,

  4. 轻量 你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署 100~1000 个 Containers 容器。

  5. 便宜 开源的,免费的,低成本的。由现代 Linux 内核支持并驱动。轻量的 Container 必定可以在一个物 理机上开启更多“容器”,注定比 VMs 要便宜。

  6. 对于在笔记本电脑,数据中心的虚拟机,以及任何的云上,运行相同的没有变化的应用程序,IT 的发布速度更快。

  7. 开发人员并不关心具体哪个 Linux 操作系统 使用 Docker,开发人员可以根据所有依赖关系构建相应的软件,针对他们所选择的操作系统。 然后,在部署时一切是完全一样的,因为一切都是基于 Docker Image 的运行。

  8. Google,微软,亚马逊,IBM 等都支持 Docker。

  9. Docker 支持 Unix/Linux 操作系统,也支持 Windows 或 Mac

缺点

  1. Docker 部署应用的时候,并不包含数据。日志,数据库等通常应放在 Docker 容器外。 一个容 器的镜像通常都很小,不适合存大量数据,存储可以通过外部挂载的方式使用。比如使用:NFS, ceph、glusterfs、ipsan,MFS 等 一句话:docker 只用于计算,存储交给别人。

  2. 所有容器共用 linux kernel 资源,资源能否实现最大限度利用,所以在安全上也会存在漏洞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值