Docker概述(一)
学习地址
1.Docker为什么出现
一款产品:开发–上线,需要两套环境!应用环境,应用配置!
开发 — 运维。问题:我在我的电脑上可以运行!版本更新,导致服务器不可用!对于运维来说,就会比较麻烦,开发即运维。
环境配置十分麻烦,每一个机器都需要部署环境(集群Redis、ES、Hadoop)!费时费力
发布一个项目(jar +( Redis MySQL jdk ES)),项目能不能带上环境安装打包!
之前在服务器配置一个应用的环境Redis、ES、Hadoop,配置很麻烦,不能跨平台。
Windows,最后发布到Linux!
传统:开发jar,运维做!
现在:打包部署上线,一套流程做完!
java – apk – 发布(应用商店) — 吕布云使用apk – 安装即可用
java – jar(环境) — 打包项目带上环境(镜像) – (Docker仓库:商店)– 下载我们发布的镜像 – 直接运行即可!
2.Docker的思想就来自于集装箱
- JRE – 多个应用(端口冲突) – 原来都是交叉的
- 隔离:Docker核心思想!打包装箱!每一个箱子是互相隔离的
- 例如:我的博客和视频播放器放到两个容器里面运行,减小服务器的压力
3.Docker历史
2010年,几个搞IT的年轻人,就在美国成立了一家公司dotcloud
做一些pass的云计算服务!LXC有关的容器技术
他们将自己的技术 (容器化技术)命名就是Docker
Docker刚刚诞生的时候,没有引起行业的注意。dotcloud,就活不下去。
开源
2013年,Docker开源。
越来越多的人发现了Docker 的优点。Docker每个月都会更新一个版本
2014年4月9日,Docker1.0发布。
Docker为什么会这么受欢迎?十分的轻巧。
在容器技术出来之前,我们都是使用虚拟机技术!例如VMware
4.Docker内容
Docker是基于Go语言开发的!开源项目。
5.Docker能干嘛
之前的虚拟机技术
虚拟机技术缺点:
- 资源占用多
- 冗余步骤多
- 启动很慢
容器化技术
容器化技术不是模拟的一个完整的操作系统
比较Docker和虚拟机技术的不同:
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
- 容器内的应用直接运行在 宿主机的内核,容器是没有自己的内核的。也没有虚拟我们的硬件,所以就轻便了
- 每个容器是相互隔离,每个容器都有一个属于自己的文件系统,互不影响。
DevOps(开发、运维)
应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行
更便捷的升级和扩缩容
使用Docker之后,我们部署应用就和搭积木一样!