3W法则-学习Docker

一、前言

      5W1H法则是在一次面试中学习到的,后来在工作也开始使用这种东西,虽然最后没去那家公司,但是也是学习到了,关注开这些东西以后,也发现了一些简化版的3W法则,最近公司也要搞Docekr,所以写篇博客来说说为什么要学习Docker。

二、What Docker

      什么是Docker?Docker是一种容器化的技术,包括一个命令行程序、一个后台守护进程以及一组远程服务,使应用程序在不同的操作系统上以相同的方式运行,所以要明白什么是Docker我们还需要来聊聊容器的概念。

      容器是为应用程序提供隔离的运行空间,每个容器内部都包含一个独享的完整用户环境空间,并且容器内的变动不会影响其他容器的运行。这个时候我们又会想到传统的虚拟化技术他也是一种容器化的技术,接下来我们拿两者做个比较。

      对于传统虚拟化技术(虚拟机),提供一套完整的操作系统,可以为每个用户指定CPU、内存等资源,Docker则是使用namespaces来进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,通过cgroups来确定每个容器可以利用多少资源,所有的容器共享一个操作系统内核。两者相比较起来Docker更轻量级些,相比传统的虚拟化技术来说对系统资源运用的更加充分。

      

      

     总结下就是,Docker是为应用软件提供运行空间,以及将应用软件直接相互隔离,来提升安全性;

三、Why Docker

     为什么需要Docker?我认为应该3方面说起:

     1.服务端的开发和部署

     对于开发和运维人员来说,现在每天面对各种各样的中间件、各种服务的部署,单纯依靠以前的手动部署已经不能满足现状,Docket可以通过定制镜像,来实现一次性创建或配置,可以在任意地方正常运行,使得开发人员和运维人员解放双手,另外Docker构建和启动很快,能大量节约开发、测试和部署时间。服务化的今天如果没有Docker大家可能也没有这么顺风顺水。

     2.更高效的利用资源

     Docker相比于传统的虚拟化技术来说不需要运行完整的操作系统,可以理解为进程级的,在同等的情况下可以对系统资源更高效的利用;

     3.易用性和扩展性

     Docker使用起来很简单,没有想虚拟化技术那般费劲,简单的一个命令就能运行起来服务,使得这项技术更加的流行。 Docker采用分层存储和镜像技术,使应用的维护和扩展变得非常简单,另外Docker官方维护很多镜像,让大家降低了应用镜像制作的成本;

四、How Docker

     这篇博客先从环境搭建然后到Hello World,下一篇文章带领大家做一个spring boot连接数据库,最后补上之前说的Elasticsearch集群搭建(包括Elasticsearch一些参数调优、监控、集群测试),中间也会穿插一些镜像、容器、网络和存储等等这些Docker中的知识,先来启动Hello World

    安装环境实在腾讯云上的CentOS 7的版本,通过yum命令来安装Docker,Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

 1 #查看你当前的内核版本
 2 uname -r
 3 
 4 #安装 Docker
 5 yum -y install docker
 6 
 7 #启动 Docker 后台服务
 8 service docker start
 9 
10 #查看docker版本
11 docker -v
View Code

    接下来我们来启动一个Hello World,这里我们暂时不通过Dockerfile的形式去做,通过Docker仓库来实现将Hello World运行出来,

    1.docker search hello-world 先搜索关于hello-world的镜像

     

    2.docker pull hello-world 拉取hello-world的镜像到本地服务器

     

    3.docker run hello-world 运行容器

     

     这里就是带大家完成一个从仓库拉取到本地镜像的一个例子,相信使用过Git都比较清楚,通过上面的例子相信大家已经体验Docker的易用性,接下来会有更详细的使用介绍;

五、结束

     欢迎大家加群438836709!欢迎大家关注我!

     

posted @ 2019-06-21 08:42  大魔王先生  阅读(1855)  评论(1编辑  收藏  举报