1 前言
在学习具体的docker技术之前,我们先来大概了解一下在与之相关的一些概念
物理机
很久之前,服务器部署应用于物理机之上,整个过程极慢,而且成本就高,也较难迁移和扩展,甚至受限于特定硬件厂商
虚拟机
受限于物理机的诸多缺点,虚拟机应运而生,一台物理机可以通过vmware虚拟化安装多个多个操作系统,每个操作系统都可以运行单独的app,因此一个物理机可以部署多个app
虚拟化的局限性在于,每一个虚拟机都是一个完整的操作系统,要分配系资源,当虚拟机增多时,每个虚拟机可用资源就比较少了,此时必须扩容
Linux部署形式:vmware + (IOS镜像)= 一个可以使用的Linux操作系统
像lnmp集群部署、mysql集群部署、zabbix监控系统我们都是在安装的Linux虚拟机上学习和使用的
部署流程:安装-修改配置文件-启动-使用各种功能
虚拟机工具巨头
· vmware workstation (个人学习使用)主要用于windows平台,创建虚拟机(安装系统)
· 企业版虚拟化 vmware esxi虚拟化工具,高性能服务器结合,进行服务器资源虚拟化
· linux下的虚拟机工具,kvm(创建虚拟机+安装各种系统)
· docker
什么是虚拟化技术
它是异种骨资源管理技术,将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境
vmware创造性地提出了一个二进制翻译技术。vm在虚拟机操作系统和宿主计算机之间扮演了一个桥梁的角色,将虚拟机中要执行的指令“翻译”成恰当的指令在物理计算机上执行,以此来模拟虚拟机中的程序
2 安装部署
容器技术
Docker由go语言开发,是基于Linux内核的Cgroups、NameSpace,以及Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术
由于隔离的进程独立于宿主机恶化其它隔离进程,也被称之容器
利用Docker可以实现开发、测试、生产环境的部署一致性,极大的减少运维成本
容器技术和虚拟机的差异
虚拟机技术虚拟的是完整的系统(非常重),docker技术可以实现环境隔离(轻量级)
容器技术直接运行在宿主机的内核上,容器没有自己的内核,不能对硬件虚拟,也因此更轻便
同样配置的宿主机,最多可以启动10个虚拟机的话,可以启动100+的容器数量
启动一个虚拟机,执行的是完整的开机流程,可能需要20s,而启动一个容器只需要1s
KVM需要硬件CPU的虚拟化支持,而容器不需要
docker可以更高效的利用系统资源
只需要docker镜像就可以跨机器、平台测试、运维代码
2.1 docker安装部署
1.购买并解析域名
2.购买服务器
3.更新密码
4.登录云服务器
ssh root@47.100.202.97
Welcome to Alibaba