一、前言

      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 。

 #查看你当前的内核版本
uname -r #安装 Docker
yum -y install docker #启动 Docker 后台服务
service docker start #查看docker版本
docker -v

接下来我们来启动一个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!欢迎大家关注我!

3W法则-学习Docker的更多相关文章

  1. 从零开始学习 Docker

      这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的 ...

  2. 如何学习Docker

    如何学习Docker 学习Docker,如果没有云计算的基本知识,以及内核的基本知识,那么学习并理解起来会稍吃力.作为容器,Docker容器的优势在哪,不足在哪,最好了解容器的实现是怎样的(简单了解) ...

  3. 系统学习Docker 践行DevOps理念

    Docker代表的容器技术是近两年的大热技术,和人工智能.区块链等热点不同,容器技术的门槛并不高,每一个开发.测试.运维人员都能在日常工作中掌握和使用,是当今IT从业人员的必备技能之一.本课程会带大家 ...

  4. 从零开始学习docker之在docker中搭建redis(集群)

    docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...

  5. Docket学习--Docker入门

    什么是Docker? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机). ...

  6. 学习docker

    虚拟机下Ubuntu环境 1.sudo apt-get update 2.sudo apt-get install docker.io 3.在daocloud(http://www.daocloud. ...

  7. 学习docker可能会用到的参考

    局域网部署Docker--从无到有创建自己的Docker私有仓库 http://lib.csdn.net/base/docker 正在刷(学习)一遍官方文档,上面是一些其他可能用到的资料,是在解决自己 ...

  8. 1.ASP.NET Core Docker学习-Docker介绍与目录

    Docker的优点: 1节约时间,快速部署和启动 2节约成本 3标准化应用发布 4方便做持续集成 5可以用Docker做为集群中的轻量主机或节点 6方便构建基于SOA或者微服务架构 的系统 学习目录: ...

  9. Docker学习のDocker初识

    一.Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...

随机推荐

  1. 超短的判断IE javascript代码

    首先说明该代码只能在IE 6~8中有效,再高级的IE已经修复这个BUG <script type=’text/javascript’> var ie = !-[1,]; alert(ie) ...

  2. 输入一个秒数,要求转换为XX小时XX分XX秒的格式输出出来;

    package arithmetic; import java.util.Scanner; import org.junit.Test; public class Test02 { /** * 输入一 ...

  3. windows deintall 12c client

    1.unintall: close all oracle app C:\app\client\CICadmin\product\12.1.0\client_1\deinstall deinstall ...

  4. 173 Binary Search Tree Iterator 二叉搜索树迭代器

    实现一个二叉搜索树迭代器.你将使用二叉搜索树的根节点初始化迭代器.调用 next() 将返回二叉搜索树中的下一个最小的数.注意: next() 和hasNext() 操作的时间复杂度是O(1),并使用 ...

  5. visual studio 2015 key vs2015密钥

    Visual Studio Professional 2015简体中文版(专业版)KEY:HMGNV-WCYXV-X7G9W-YCX63-B98R2Visual Studio Enterprise 2 ...

  6. SharedPrefences的用处

    存储数据 SharedPreferences.Editor edit = getSharedPreferences("data", MODE_PRIVATE).edit(); ed ...

  7. nodejs idea 创建项目 (一)

    1.在工作空间创建module file->new module next next 项目的目录结构: bin:跟业务无关的公共部分 node_modules :默认的模块 public:公共模 ...

  8. 计算器Pro应用项目源码

    本计算器实现了一些简单的功能,可能本身还存在一些缺陷,希望大家提建议,能够改进一下. 源码项目我已经上传到源码天堂那里了:http://code.662p.com/list/11_1.html < ...

  9. ubuntu设置root账号密码

    Ubuntu Linux有一个与众不同的特点,那就是初次使用时,你无法作为root来登录系统,为什么会这样?这就要从系统的安装说起.对于其他Linux系统来 说,一般在安装过程就设定root密码,这样 ...

  10. KMS

    slmgr -ipk 73KQT-CD9G6-K7TQG-66MRP-CQ22C