zoukankan      html  css  js  c++  java
  • 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!欢迎大家关注我!

         

  • 相关阅读:
    javaweb请求编码 url编码 响应编码 乱码问题 post编码 get请求编码 中文乱码问题 GET POST参数乱码问题 url乱码问题 get post请求乱码 字符编码
    windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况
    javaWeb项目中的路径格式 请求url地址 客户端路径 服务端路径 url-pattern 路径 获取资源路径 地址 url
    ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段
    HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
    Servlet主要相关类核心类 容器调用的过程浅析 servlet解读 怎么调用 Servlet是什么 工作机制
    linq查询语句转mongodb
    winddows rabbitmq安装与配置
    Redis For Windows安装及密码
    出现,视图必须派生自 WebViewPage 或 WebViewPage错误解决方法
  • 原文地址:https://www.cnblogs.com/wtzbk/p/11036083.html
Copyright © 2011-2022 走看看