** Docker容器实战相关博文,是我对《Docker容器实战 原理、架构与应用》的学习笔记,特此声明
一、Docker基础知识
云计算将基础设施作为动态、可自适应的资源提供给企业,解决了企业应用灵活性和响应性问题,改变了对”机器”的管理模式,但并未从本质上改变管理的对象。
但是借助容器,用户可以真正摆脱对服务器和操作系统的依赖,从而专注于应用及其组件本身。
(一)虚拟化技术
虚拟化技术一般分为硬件级虚拟化和操作系统级虚拟化。
硬件级虚拟化:运行在硬件之上的虚拟化技术,需要模拟的是一个完整的操作系统,也就是常说的基于Hyper-V的虚拟化技术
操作系统级虚拟化:运行在操作系统之上的虚拟化技术,模拟的是运行在操作系统上的多个不同进程,并将其封装在一个密闭的容器里面,也称容器化技术。
Docker正是容器虚拟化中目前最流行的一种实现。
(二)云计算服务模式
基础设施即服务(IaaS):在云端为用户提供基础设施,如虚拟机,服务器负载均衡等
平台即服务(PaaS):在云端为用户提供可执行的环境、数据库、网站服务器和开发工具
软件即服务(SaaS):在云端为用户提供软件
容器即服务(CaaS):在传统IaaS层出现了容器代替虚拟机的服务模式,因为容器的轻量级,在资源利用率和性能方面都比IaaS层的虚拟机高
(三)Docker介绍
Docker宣称是Build,Ship,Run,通过将运行环境和应用程序打包到一起,来解决部署的环境依赖问题,做到跨平台的分发使用
传统的IaaS层,虚拟机是基础组成部分,而虚拟机都是基于Hyper-V架构,运行一个操作系统大概占用5GB磁盘空间,而Docker容器则是轻量级的,省去了操作系统,层级更加简化
二、Docker安装
我购买的阿里云的版本是CentOS,所以Docker的安装也是在CentOS上,但其实Docker在Ubuntu上的使用更加良好。
因为Docker需要Linux内核中的CGroups和Namespace功能,所以必须使用包含该两项功能的Linux内核,通过uname -r查看系统内核版本,需要高于3.10的64位版本。
(1)查看系统内核版本
(2)添加仓库
vim /etc/yum.repos.d/docker.repo
repo的文件名可以任取,在文件中添加以下信息
(3)安装Docker
安装Docker
启动Docker,查看是否安装成功
运行第一个Docker容器