docker简介
docker产生的背景
以前,经常会发生开发和运维之间扯皮,一样的代码在开发机器和运维机器结果可能不同。产生这样的原因是==环境和配置==。
所以出现了,docker。docker中可以配置环境和编写配置文件,巧妙的解决了这种问题,同时能够==分享给别人使用。docker能够消除协作时的环境和配置差异==。
docker的理念是==构建,安装,运行,任何App在任何地方==。和java的理念类似,一次编译到处运行。
docker三要素:镜像,容器,仓库
docker能干什么
虚拟机技术,容器虚拟化技术(Linux容器),开发/运维(DevOps);
何为虚拟机:虚拟机(virtual machine)就是带环境安装的一种解决方案。它可以在一种操作系统中运行另一种操作系统。
虚拟机的缺点:1.资源占用多 2.冗余步骤多 3.启动慢
Linux容器:不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件进行所需的所有资源打包到一个有效的隔离的容器。容器没有自己的内核,而且也没有对模拟硬件。docker可以看做,浓缩版小型的linux系统。仅包含程序的运行时环境。
开发/运维(DevOps):开发自运维;
docker开发的好处
一次构建、随处运行:
1.更快速的应用交互和部署
2.更便捷的升级和扩缩容器
3.更简单的系统运维
4.更高效的计算机资源利用
企业级使用:美团,京东,新浪,高德,阿里云,12306…docker使得==大规模动态调度实现可能,可以很好的解决弹性云流量峰值==问题。
云端开发是一种趋势,docker对云端开发具有重要性。
Docker三要素
docker可以安装到windows,linux,unix,macos上安装。docker是由go语言编写。注意:centos docker要6.5版本以上系统内核才能安装。
镜像
简单说:镜像就是模板,容器就是镜像的一个实例
Docker镜像(image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建多个容器。
容器与镜像的关系类似于面向对象编程中的对象与类.
Dcoker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
### 容器
Docer利用容器独立运行的一个或一组应用。容器就是用镜像创建的运行实例。
它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全带平台。
可以把容器看做是一个简易版的linux环境。
仓库
==仓库是集中存放镜像文件的场所。==仓库和仓库注册服务器是区别的。仓库注册服务器上往往存放着多个仓库,每个仓库又包含了多个镜像。
开发/运维
devops,开发环境即运维环境,直接拿来用,不需要修改或其它操作