- 写在前面:
- 在B站刷到一部非常好的Docker课程,非常值得学习,在此感谢狂神的无私分享,已一键三连!
- 课程地址:【狂神说Java】Docker最新超详细版教程通俗易懂
Docker 概述
为什么会出现Docker
- 一款产品:开发--上线两套环境!应用环境,应用配置!
- 开发人员与运维人员之间存在问题:
- 我在我的电脑上可以运行,运行环境不同。
- 版本更新,导致服务不可用!对于运维来说,考验就十分大?
- 环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop..…)!费时费力。
- 开发人员发布一个项目(jar+(Redis MySQL jdkES)),项目能不能都带上环境安装打包!
- 之前在服务器配置一个应用的环境Redis MySQL jdk ES Hadoop,配置超麻烦了,不能够跨平台。
- 在Windows上开发,最后发布到Linux,需要环境配置,麻烦。
- 传统:开发jar,运维来做!
- 现在:开发打包部署上线,一套流程做完!
- Docker给以上的问题,提出了解决方案!
- java ==> apk ==> 发布(应用商店)==> 张三使用apk ==> 安装即可用
- java ==> jar(环境)==> 打包项目带上环境(镜像)==> (Docker仓库:商店)==> 下载我们发布的镜像--直接运行即可
- Docker的思想就来自于集装箱!
- JRE ==> 多个应用(端口冲突)==> 原来都是交叉的
- 隔离:
- Docker核心思想!打包装箱!每个箱子是互相隔离的。
- 举个例子:水果 ,生化武器隔离装在不同的容器内,避免感染。
- Docker 通过隔离机制,可以将服务器利用到极致
Docker的历史
- 2010年,几个搞IT的年轻人,就在美国成立了一家公司dotcloud做一些pass的云计算服务,LXC有关的容器技术。他们将自己的技术(容器化技术)命名就是Docker。Docker刚刚诞生的时候,没有引起行业的注意!dotCloud,就活不下去!然后选择开源。
- 2013年,Docker开源!Docker越来越多的人发现了docker的优点!火了,Docker每个月都会更新一个版本
- 2014年4月9日,Docker1.0发布
- Docker为什么这么火?
- 十分的轻巧!
- 在容器技术出来之前,我们都是使用虚拟机技术
- 虚拟机:在window中装一个Vmware,通过这个软件我们可以虚拟出来一台或者多台电脑,笨重
- 虚拟机也是属于虚拟化技术,Docker 容器技术,也是一种虚拟化技术
- vmware:Linux centos原生镜像(相当于一台电脑),隔离需要开启多个虚拟机,一般至少几个G ,开启需要几分钟
- docker:隔离,镜像(最核心的环境4m+jdk+mysql),运行镜像就可以了,小巧,大小基本是几个MKB,秒级启动
- Docker 是基于Go 语言开发的,是开源项目
- 文档地址:httpsi//docs.docker.com/Docker
- 文档是超级详细的
- Docker镜像仓库地址: https://hub.docker.com/