低调人的gravatar头像
低调人 2019-09-12 08:52:58
Docker是干什么用的?

长话短说,这里我就不对docker进行系统的介绍说明了,网上很多介绍文章,我想新手的话可以先网上大概了解一下docker的基本概念。有一个模糊的、大概的感觉就行了。多看资料文档,有百利而无一害。

 

Docker不是虚拟机

很多人一开始学习Docker的时候,感觉Docker很像虚拟机,误以为Docker就是虚拟机。其实Docker不是虚拟机!这个千万不要搞错了!先记下这个硬性结果,后续真正搞环境搭建、项目部署的时候,就会明白了~不要着急,也不用担心^_^。

 

对Docker有一个感官的感受吧

比如公司买了一台新服务器,系统是centos,你要想把项目部署到服务器上,而且项目中使用到了mysql、redis、activemq、zookeeper等技术,要想项目能在服务器上正常运行,必须在新的服务器上搭建好mysql、redis、activemq、zookeeper服务环境。这样的话,在环境搭建和配置上就要花费太多的时间了(因为需要配置很多的配置文件、需要手动启动服务等)。

又或者每次重装一次系统或者换一个机器,你就要把环境重装一次,东西越多花费的时间越多、很麻烦、浪费时间和精力。

而使用Docker的话,你只需要一条命令,你就可以在你的centos系统上运行你需要的软件,比如mysql、tomcat、jdk、redis等。

光文字介绍,无法直观的感受到docker的强大之处,那就举两个例子看看吧~

 

【示例1】:Docker上安装mysql

  • 你需要MySQL服务,那么在docker中通过简单的命令就可以安装一个MySQL数据库服务:

docker pull mysql

哇!mysql就这样安装好了? my god!太简单快捷了吧!

 

那如何启动mysql呢?命令如下:

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

很简单吧,一个mysql服务就启动完成了,就可以正常使用了。可以通过mysql客户端(Navicat、DataGrip等)连接这个mysql数据库。

 

目前你可以不用去知道具体的命令以及参数的含义,感官上感觉一下docker的强大就行了。后面具体的环境部署搭建会详细说明。

 

【示例2】:Docker上安装jdk

  • 你需要JDK环境,那么在Docker中通过简单的命令安装一个JDK的镜像, 然后通过一条命令启动这个容器就行了,容器会自动给你安装配置好JDK环境。

同样的,一条命令就可以完成:

docker pull java

就这么简单的一条命令,JDK就安装好了。你可以在Docker容器的命令行中通过java -version来检测jdk是否安装成功。

 

 

 

镜像、容器

对于新手而言,或许有点不明白镜像和容器分别是个什么东东,还是有点不明白。

你可以这样感官的理解:

镜像 —— 相当于ISO操作系统的安装包,ISO镜像的内容是固定的,不会发生改变,可以重复使用。

容器 —— 类似于使用 ISO镜像安装的新的操作系统,可以使用一个相同的ISO镜像,安装很多操作系统。

 

你也可以制作属于自己的镜像哦

你可以在某个Docker镜像的基础之上,对Docker容器进行修改。比如添加了一些你自己的软件或修改一些配置文件,然后执行commit命令,这样你就把这个容器制作成了一个新的镜像(也就是自定义镜像),以后你就可以用这个镜像创建出N个一模一样环境的容器。

 

比如你要学习搭载Redis集群,那么你可以下载一个Redis的镜像,然后启动容器,进入这个容器的文件系统里面,在这个容器里面把redis集群的配置都设置好后,然后通过commit命令提交这个容器生成新的镜像,以后就可以使用这个镜像运行出更多的redis集群环境的容器了,而且环境也都是一模一样的,就无需再去从头搭建redis集群环境了。

 

具体的环境搭建,这里不做过多的说明,后面会讲解。

 

Docker占用的资源很小。启动一个容器一般都是秒级的。

 

Docker的优缺点

这里不多做描述,随着学习后面的Docker容器启动、项目部署等教程,你自然就会感受到Docker的优势以及存在的不足。

当然,你也可以自行网上查询资料学习。

欢迎加我QQ交流学习!


打赏

已有3人打赏

人间蒸发的gravatar头像 spring全家桶的gravatar头像 最代码官方的gravatar头像
最近浏览
fangen0005  LV25 2022年7月5日
giao1219 2021年12月3日
暂无贡献等级
wangshihui  LV8 2021年7月21日
antidote 2021年3月22日
暂无贡献等级
松烟入墨2018  LV16 2021年3月1日
wangdongtai  LV31 2021年2月6日
皮皮虾一月  LV8 2020年12月23日
最代码酒酒  LV20 2020年3月27日
spring全家桶  LV4 2020年3月22日
shenchong  LV19 2020年2月18日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友