Docker 概述

Posted 老虎从不发威-新歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 概述相关的知识,希望对你有一定的参考价值。

Docker 为什么出现?

产品:开发 - 上线 两套环境!应用环境,应用配置
开发 … 运维。问题:我在我的电脑上可以运行!版本更新,导致服务不可用,对运维来说,考验就十分大?
环境配置是是非麻烦的。每一个机器都要部署环境(集群 Redis、ES、Hadoop …)! 费时费力。
发布一个项目(jar/war)+(Redis mysql jdk ES Hadoop) 配置超麻烦,不能跨平台

windows 开发 - 发布到 Linux 环境 麻烦

传统 :开发jar, 运维 需要两个人

现在: 开发打包部署上线,一套流程做完!

举例:

下载 有个手机应用:
java /kotlin – apk – 发布 (应用商店) – 阿三使用apk – 安装即可使用!

后端/前端
java – jar (环境) – 打包带上环境(镜像) – (Docker仓库:商店) – 下载我们发布的镜像 – 直接运行即可

Docker 解决了以上的问题,提出了解决方案


Docker 的思想就来自于集装箱!
jre - 多个应用 (端口冲突) – 原来都是交叉的
隔离:Docker 核心思想!打包装箱!每个箱子是互相隔离的。
例如:
一个箱子装水果,一个箱子装农药,以前放在一下会被污染,事业使用 Docker 可以完美解决 集装箱思想

Docker 通过沙箱隔离机制,可以将服务器利用到极致!

所有的技术都是因为出现了一些问题,我们需要去解决,才去学习的!

Docker 的历史

2010年 几个搞IT的年轻人,在美国成立了一家dotCloud
做一些 pass 的云计算服务,LXC 有关的容器技术
他们将自己的技术(容器化技术) 命名就是 Docker !
Docker 刚刚诞生的时候,没有引起行业的注意!dotCloud 活不下去了!

开源

开发源代码
2013年,Docker 开源!
Docker 越来越多的人发现 docker 的优点, 火起来了,Docker 每个月都会有一个新版本
2014年4月9日 Docker 1.0 发布
Docker 为什么这么火?,十分的轻巧
在容器技术出来之前,我们都是使用虚拟机技术
虚拟机: 在window 中装一个VMware ,通过这个软件我们可以虚拟出来一台或多台电脑!笨重! 一个镜像几十G
虚拟机也是属于虚拟技术,Docker 容器技术,也是一种虚拟技术!

vm : linux centos 原生镜像(一个电脑) ,隔离,需要开多个虚拟机! 几个G,几分钟
docker 隔离,镜像(最核心的环境, jdk +mysql) 十分的小巧,运行镜像就可以了? 体积小,运行开,启动方便

聊聊 Docker

docker 基于 go 语言开发!开源项目!
官网:https://www.docker.com/

文档地址: https://docs.docker.com/ Docker 的文档是超级详细的!
仓库地址: https://hub.docker.com/

百度百科:

Docker 能做什么?


虚拟机技术缺点:

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动慢

容器化技术
容器化技术不是模拟的一个完整的操作系统
比较Docker 和虚拟机技术的不同
4. 创痛虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
5. 容器内的应用直接运行在宿主机的内,容器是没有自己的内核的,也没有虚拟硬件,所以很轻便
6. 每个容器见是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响

DevOps (开发、运维)

应用更快速交付和部署
传统: 一堆帮助文档,安装程序
Docker : 打包镜像发布测试,一键运行
更便捷的升级和扩展
使用了docker 之后,我们部署应用就和搭积木一样!
项目打包为一个镜像,扩展 服务器a ! 服务器b
更简单的系统运维
在容器化之后,我们开发,测试环境都是高度一致的。
更高效的计算资源利用
Docker 是内核级别的虚拟化,可以再一个物理机上运行很多的容器实例,服务器性能可以被压榨到极致

只要学不是,就往死里学!

以上是关于Docker 概述的主要内容,如果未能解决你的问题,请参考以下文章

Docker概述与安装(官网译)

docker的安装及基本命令

Docker 容器介绍

Docker学习笔记

Docker基本管理

Docker ——Docker基本管理