docker tomcat 多开 实例_看完此文,妈妈还会担心你docker入不了门?

本文通过生动的故事引入,解释了Docker的基本概念,包括它如何解决环境差异问题,以及与传统虚拟机的区别。文章详细介绍了Docker的组成部分,如客户端、服务、仓库、镜像和容器,以及Dockerfile的用途。通过实际操作示例,展示了如何使用Docker命令管理镜像和容器,包括启动、停止、删除容器,以及数据卷的使用。此外,还讨论了Dockerfile的常用指令和构建镜像的过程。整体内容旨在帮助读者轻松理解并入门Docker。
摘要由CSDN通过智能技术生成

a1eaf7867f37765446e7dcb1a40c1d4b.png

上周对象突然心血来潮说想养个小宠物,我问想养啥她又说随便,你看着办!!!这我真的比较难办啊!但是咱们程序员能有个对象就不错了,还不赶紧宠着,我只能照办咯!

我去到了一家宠物店,半天也没有找到合适的目标。正在我犹豫彷徨之时,看到了老板门口鱼缸里面的金鱼游来游去还挺顺眼!于是我问老板
我:老板,金鱼多少钱?
老板:加鱼缸一起100块钱不讲价!
我:这...便宜一点咯!
老板:小伙子看你骨骼惊奇,定是个养鱼的奇才,2块钱卖给你吧!但是鱼缸可不能给你!
我:那,你帮我打包一条吧,帮我拿个袋子装着就好了!

于是我兴高采烈的拎着小金鱼就回家了,找了个大罐子养着!对象看到我买的小金鱼后露出了幸福的笑容~
第二天早上对象把我从睡梦中摇醒:“嘤嘤嘤,人家的小鱼动不了了,你赔~~~ ”。于是我很愤怒的跑去宠物店找老板索赔!
我:你们家卖的鱼有问题,回去就不行了!
老板:不可能,昨天在我们这都活蹦乱跳的!
我:就是你们家的鱼有问题!
老板:肯定是你自己买的鱼缸有问题!
我:手持两把锟斤拷,口中疾呼烫烫烫。
老板:脚踏千朵屯屯屯,笑看万物锘锘锘?

这一幕,似曾相识!像极了我们在开发中
测试:xx,你的代码在生产环境上运行有问题。
我:不可能,我本地都运行得好好的。
测试:你自己上生产环境上看。
我:我不看,我的代码在本地没问题,肯定是运维的锅,你去找运维!

或许很多开发人员都有过上面的经历,程序在本地运行都很正常,一上到生产环境就崩了。这是因为程序跟小金鱼一样也会“水土不服”!而导致程序水土不服的原因一般就是环境配置的差异!加上现在互联网高并发、大流量的访问,一个应用往往需要部署到集群的多台机器上,并且集群扩容缩容的需求也比较频繁。如果按照传统的方式部署,那每一台服务器上都需要装各种软件...然后进行各种配置...我仿佛看到了“工作996,生病ICU”在向运维工程师招手!

那有没有一种方案不仅能屏蔽环境的差异,并且还能快速部署呢?既然“水土不服”那我把程序及整个“水土”都打包迁移,就看你服不服。而docker就是这样的一种让你服技术!

昂,上面的对象是我自己new的(* ̄︶ ̄)...

Hello Docker

Docker是什么呢?百度百科是这样跟我说的:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

这段话已经很概括的描述了docker是什么,docker能干嘛,docker的基本特性!相信刚开始接触docker的你跟我也一样,看了几遍都很懵逼!没关系,看完全文再回头看这段话,或许就有不一样的体会了!我们先看看docker官方给出的“定妆照”

36a691194349d2a97df8aeef406e4b40.png

如果非要我用一句话描述这张图片,还在上幼儿园的我会说:“一条可爱的鲸鱼背着多个集装箱,畅游在大海里 ”!而现在我会说:“docker是一个运行在操作系统上的软件,这个软件上面可以运行多个相互隔离的容器”!不同的表述,同一个意思!这条可爱的鲸鱼就是咱们的docker,而大海就是我们的操作系统,多个集装箱就是在docker上运行的容器!什么是容器咱们后面会说~

假如你想漂洋过海来看我,你可以选择自己造一条船,这样你就得自己备足很多干粮,还得准备很多一些其他的必需品才能出发!但是现在有一条鲸鱼游过来对你说,我这里有很多集装箱,里面有你所需要的一切,你选一个适合你的进来就可以了,我会带你乘风破浪的!

看到这里,你是否对docker有个初步的印象了呢?至少知道了:1、docker是什么?2、为什么需要docker?

与传统虚拟机对比

前面我们说过docker可以实现虚拟化,那docker与我们平时用的虚拟机有什么区别和联系呢?在那些年我们还买不起云服务器的时候,如果我们想学linux那就得先安装一个创建虚拟机的软件,然后在软件上面创建虚拟机,然后分配内存、分配磁盘、安装linux操作系统等等一系列的操作,然后等个分把钟让虚拟机运行起来~
为什么传统虚拟机启动会那么慢呢?因为传统虚拟机技术是虚拟出一套硬件后,在其上面运行一个完整的操作系统,然后在该系统上面再运行所需要的应用程序,并且虚拟机的资源需要提前分配,一旦分配这些资源将全部被占用。但是docker容器内的应用程序是直接运行于宿主的内核,容器没有自己的内核,更加不会对硬件进行虚拟。因此docker容器比传统的虚拟机更为轻便!但是docker容器技术也是参考虚拟机一步一步的迭代优化过来的!我们来看看官方给出的docker容器和传统虚拟机的对比图:

1cfe87c1cc6a9141eef87bb3bb8ae863.png

图中也能看出来,docker就是一个运行在操作系统上的软件!以后如果想在windows上面学习Linux,只需要在本地安装一个windows版本的docker,然后看完本文的剩下的部分,就能轻轻松松的玩转linux啦!不过在windows上安装docker也需要先安装一个虚拟机~

基本组成要素

前面对docker的基本概念有了个大致印象,但是到目前为止,可能你对docker的认识还比较空泛,那下面部分我们就从docker的基本组成要素来更深入的走进docker!docker是一个client-server的结构!先看看官网给出的架构图ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值