docker化你的java应用

docker官网对docker的一句话定义是:

“Docker is the world’s leading software containerization platform.”

(docker是全球领先的软件容器化平台)

大白话就是:docker是一个用来装应用的容器,就像杯子可以装水,书包可以放书,笔筒可以放笔…你可以把任何你想得到的程序放到docker中!

docker是跨平台的,支持linux/macos/windows,不过docker是在ubuntu系统上开发的,对于ubuntu支持最好。

理解docker logo

docker logo里面是一条鲸鱼驮着一些集装箱在海中遨游。

想一下,如果没有集装箱,那么货物是零散的存放,运输过程中说不定出现破损或者丢失,如果采用集装箱,因为是密闭的,标准的,货物运输会很安全。

鲸鱼,游到码头拿货(取集装箱),然后出发,运输集装箱到目的地。这种存储货物/运输货物的方式很标准,保证从一个地方到另一个地方,不会出现问题。

以前,A机器上运行的程序想部署一套到其他机器上去,如果采取传统到方式进行文件拷贝等,有可能出现问题,采用集装箱的方式进行运输就可以避免。

既然,集装箱是标准的,就是说它的操作也是标准的,比如打开,关闭。这就意味着我们对应用的启动、停止等将是统一的命令。(不论是nginx,tomcat等等,它们的启动,停止都将是统一的命令!这里说的就是docker的api接口的标准化)

集装箱和集装箱之间有隔离性,就好像虚拟机似的。我们知道虚拟机可以有自己的内存/CPU/硬盘/网卡等,docker差不多,不过docker的容器更佳轻量级,它的创建、销毁非常快。【docker的隔离性最底层还是依赖linux的lxc(Linux Container容器是一种内核虚拟化技术)机制来实现的】

docker化你的java应用(上)

docker思想

docker的思想解决了哪些问题?

“程序在我这里运行好好的,咋在你那里就不行了呢?”

一个普通的java web程序跑起来,需要哪些依赖?

操作系统os/jdk/webserver/代码/配置文件/…

比如,程序中调用了系统命令,现在os变了;

比如,jdk版本,编译使用的是1.8版本,机器上安装的是jdk1.6,无法识别class版本;

比如,tomcat版本,有些旧版本的配置新版本不支持;…

针对这种问题,docker的处理方式是,把os/jdk/webserver/代码等等一个个的放到集装箱中去,打包放到鲸鱼上,由鲸鱼给我们送到目的地去,也就是说docker解决了运行环境不一致带来的问题!

“哪个大哥又写死循环了,系统又变慢了…”

传统的方式中,我们一台机器上部署了很多服务,很可能由于其他服务出现死循环占领cpu,日志狂打磁盘爆满等情况导致我们自己的服务出现异常。

而docker的隔离性可以完全避免这样的问题,因为docker在启动的时候,就给限定了最大能使用的cpu,内存,硬盘,如果超出就kill掉。

“双十一来了,又要部署几千台服务,过完节后,还得下线这么多,累死了…”

对于大部分系统而言,流量并不是均匀的,比如电商系统,在11.11大促期间,就需要临时扩容机器,之后在下掉,如果是成百上千台,那就给运维带来非常大的工作量,有了docker就变得简单了,从5台服务器变成500台,5000台…都是分分钟的事情。(也就是说docker解决了快速扩容,弹性伸缩)

docker的三大核心概念

在上面我们大白话说了那么多,现在我们需要用专业术语来揭开docker的3大核心概念了:镜像/仓库/容器。

镜像(images),就是上面我们说的集装箱;

仓库(repository),就是码头;

容器(container),就是运行程序的地方;

最后

由于篇幅原因,就不多做展示了
外链图片转存中…(img-1LxqYvQo-1718693893135)]

[外链图片转存中…(img-4t667pu6-1718693893135)]

[外链图片转存中…(img-E8DiHWS9-1718693893136)]

由于篇幅原因,就不多做展示了

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值