初探Docker及使用Docker运行第一个JavaWeb程序

1 什么是Docker

1-1 Docker历史

2010 dotCloud PAAS

2013 Docker开源

2014.6 Docker 1.0

2014.7 C轮 $4000万

2015.4 D轮 $9500万

 

1-2 什么是Docker?

Docker是一个装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书一样,你可以把Hello World放在Docker里,你可以把网站放在Docker里,你可以把任何你想得到的程序放在Docker里。

官方解释:Docker is the world's leading software containerization platform。

Docker开源,代码托管在GitHub。

跨平台,支持Windows,MacOS,Linux。

 

2 了解Docker

2-1 Docker思想

1.集装箱

在没有集装箱之前,运输货物零散,没有规矩。有了集装箱后,货物装在集装箱,箱子很大,不容易丢失。保证货物安全原样送到目的地。把货物想象成程序,现在要把运行的程序部署到另外一台新的机器上去,如果有过相关经验的人可能会想到少拷了一些配置文件等会启动不起来。这些大部分都是认为的疏忽导致的错误,有了Docker的集装箱,就解决了这些问题。它会保证程序不管放在哪,运行时候不会缺少东西。

2.标准化

运输方式标准化:Docker运输程序有一个超级码头,任何一个地方需要货物的时候,都由鲸鱼把货物先送到超级码头,再由鲸鱼从超级码头送到目的地。例如想要从台式机将程序发到笔记本,之前可以使用QQ、U盘等方法。有了Docker之后,就标准化了这个过程:需要做的就是在台式机上执行一个Docker命令,将鲸鱼派过来,把程序送到超级码头去。再在笔记本上执行一个Docker命令,让鲸鱼把程序从超级码头送到笔记本上。

存储方式标准化:把程序拷贝到笔记本上时,得指定一个目录,还得记住这个目录。而有了Docker后,就不需要关心你的应用存储在什么地方,要想运行或者停止它的时候,只需要执行Docker命令即可。

API接口的标准化:Docker提供了一系列REST的接口,包含了对Docker应用的控制,包含启动,查看,进入,删除等。有了接口标准化,只需要执行同样的命令,就能控制所有的应用。

3.隔离

在使用虚拟机时,它有自己的内存、CPU、硬盘,完全感觉不到外面主机的存在。Docker类似,不过它的技术更加轻量,能够快速的创建和销毁,比如创建一个虚拟机需要几分钟,而创建一个Docker只需要一秒。底层的技术实际上是Linux的一种内核限制机制,叫做LXC,LXC是一种轻量级的容器虚拟化技术,最大效率隔离了进程和资源。通过cgroup、namespace限制隔离进程组使用的物理资源,比如CPU、memory等等。其实这个机制早在8、9年前已经加入Linux内核中,直到2013年Docker出世时候才火起来。Docker成功更像是时势造英雄,如果没有云计算,没有敏捷开发,没有高频度的弹性伸缩需求,没有IT行业的这么多年的长期发展,就没有Docker。

 

2-2 Docker解决了什么问题

--“我本地运行没问题啊!”

Docker解决了运行环境不一致所带来的问题。

--“系统好卡,哪个哥们又写死循环了?!”

Docker启动时候就已经限定好了最大能够使用的CPU、硬盘等资源,如果超过,只会自己挂掉,丝毫不影响其他的程序。

--“双11来了,服务器撑不住啦!”

一到这种节日,运维

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值