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!欢迎大家关注我!

         

  • 相关阅读:
    mysql主从配置的过程
    redis 命令行客户端utf8中文乱码问题
    十五分钟介绍 Redis数据结构--学习笔记
    70路小报:用PV和UV作为网站衡量指标已经过时
    安装redis环境
    网站统计IP PV UV实现原理
    服务器启动脚本 /etc/rc.local
    LeetCode: Longest Valid Parentheses
    LeetCode: Next Permutation & Permutations1,2
    LeetCode: divideInteger
  • 原文地址:https://www.cnblogs.com/wtzbk/p/11036083.html
Copyright © 2011-2022 走看看