docker概述
1.常见地址
Docker官网:https://www.docker.com
Docker的github地址:https://www.docker.com
Docker hub官网:https://registry.hub.docker.com
2.docker介绍
Docker是一个开源的容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何linux机器上。容器是完全使用沙盒机制,相互之间不会有任何接口(类似于iPhone的app,每个app之间无影响)。几乎没有性能开销,可以很容易地在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或操作系统。Docker从17.03版本之后分为CE(Community Edition:社区版)和EE(Enterprise Edition:企业版),我们用社区版就可以了。
3.Dockerhub介绍
Dockerhub是docker官方的镜像存储站点,其中提供了很多常用的镜像供用户下载,如ubuntu,centos等系统镜像。通过dockerhub用户也可以发布自己的docker镜像,为此用户需要注册一个账号,在网站上创建一个docker仓库。
4.docker核心技术
1.Namespace ——实现Container的进程、网络、消息、文件系统和主机名的隔离
2.Cgroup —— 实现对资源的配额和度量
5.docker优缺点
优点:
1.快、小
比虚拟机小,比虚拟机快,管理操作(启动、停止、开始、重启等等)都是以秒或毫秒为单位。docker启动一个容器实例时间很短,一两秒可以启动一个实例。
2.敏捷
像虚拟机一样敏捷,而且会更便宜,在bare metal(裸机)上部署像点个按钮一样简单。
3.灵活
将应用和系统“容器化”,不添加额外的操作系统
4.轻量
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以部署100-1000个
5.便宜
开源免费低成本
6.开发人员并不关心具体哪个linux操作系统
7.Google,微软,亚马逊,IBM等都支持Docker
8.Docker支持unix/linux操作系统,也支持windows或mac
缺点:
1.docker部署应用的时候,并不包含数据,日志、数据库等通常应放在docker容器外。一个容器的镜像通常都很小,不适合存大量数据,存储可以通过外部挂载的方式使用。比如使用:NFS,ceph,glusterfs,ipsan,MFS等
一句话:docker只用于计算,存储交给别人
2.所有容器共用linux kernel资源,资源能否实现最大限度利用,所以在安全上也会存在漏洞。