Docker技术:是不同于虚拟机方式实现轻量级虚拟化的新一代虚拟化技术。docker作为虚拟化技术,也是容器的一种。
虚拟化技术:
资源管理技术,将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构不可切割的障碍,用户可以以更好的组态来应用资源。
Docker容器可看做一种沙盒,每个容器内运行一个应用,不同的容器相互隔离,容器间也可以建立通信机制,容器的创建与停止都十分快速,容器自身对资源的需求也十分有限,远低于虚拟机。甚至可以把容器当做应用。
相当于一个容器内,你可以快速的创建容器,然后在其中安装软件啊、构建应用啊,也就是通过容器来打包应用(传统的虚拟机方式,如果遇到服务器迁移(如从腾讯云迁移到阿里云),就需要重新部署软件等并调试,非常麻烦),而容器方式,打包应用,迁移时直接在新的服务器上启动所需的容器即可。
——极大的实现了一次性创建或配置。
使用Docker,可以使用镜像来快速构建一套标准的开发环境;开发后,可直接使用相同的环境部署代码。Docker可以快速创建和删除容器。Docker容器的运行不需要额外的虚拟化管理程序(如VMM、Hypervisor)支持,是内核级的虚拟化,对资源的额外需求也低。Docker容器几乎可在任意平台上运行(物理机、虚拟机、公有云、私有云、个人电脑、服务器等)
Docker容器与传统虚拟机方式比较:
1.Docker容器很快,启动与停止在秒级实现;
2.Docker容器对资源的需求很少,一台主机可同时运行数千个Docker容器;
3.Docker通过类似Git的方式获取、分发、更新镜像;
4.通过Dockerfile配置文件支持灵活的自动化创建和部署机制。
虚拟机:启动N个不同的应用就要启动N个虚拟机。
容器:启动N个隔离(安全隔离而非完全隔离)的容器,并把应用放入容器内。
一套容器部署:KVM+Docker+openshift/kubernets
其中KVM、docker、k8s都开源,openshift非开源。
VM开源选择:
Vmware 非开源
Kvm 开源
Virtualbox 免费非开源