Docker02-重要概念
Docker简介
思考
思考一:
我们之前是如何将项目发布到Linux服务器的?
大致步骤如下
- 安装jdk
- 安装tomcat
- 将项目war包上传到tomcat的webapps下
- 修改配置文件
- 启动tomcat
这样看似没问题,其实我们想想,发一台机器还好,这几步就完成了。如果我们要将这个项目发布到N多台机器,那么我们是否需要再每个机器上都进行相同的步骤?并且要进行环境兼容性的测试。
思考二:
再来看一个例子,我们现在是想部署一个成熟的产品,这个产品是go语言开发的,我们该如何部署?go语言运行的环境怎么装,这个项目又该如何部署?
思考三:
一台linux机器上装了很多软件,部署了很多项目,相互之间有干扰怎么办?
Docker是什么
Docker是以容器技术为核心的一套应用的构建,分发,执行的体系和生态。
Docker 解决了什么问题
- 程序在我这里跑的好好的,在你那怎么不行了?(环境与程序打包交付)
- 系统好卡,是哪个进程把CPU吃光了?(容器之间沙箱隔离)
- 这套系统我已经搭建好了,要不你再重新搭一遍?(一次构建,到处运行)
Docker 的优点
- 更快速的交付和部署
对开发和运维来说,最希望的是一次构建或配置,可以在任意地方正常运行。
例如:开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。Docker容器很轻很快,容器的启动时间是秒级的,大量地节约开发,测试,部署的时间,并且解决开发环境和生产环境不一致的问题。 - 更轻松的迁移和扩展
Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等,这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个平台。 - 更高的资源利用率
Docker对系统资源的利用率很高,一台主机上可以同时运行数千个Docker容器,容器除了运行其中的应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。
Docker的目的
- 集装箱:变革了人类整个的生产流程体系,让货物全世界流通
- Docker:变革了IT领域的软件交付方式,让IT之间的鸿沟消失
:-: 目标:简化部署流程,提高生产力
Docker常用场景
- 构建DevOps流程,实现运维的自动化
- 企业私有的PAAS平台,降低开发成本,提升效率
- 企业级AppStore,统一的后端系统分发平台
- 间歇式计算任务
- 构建微服务架构
虚拟化和Docker的对比
Docker的架构
Docker daemon(Docker 进程)
Docker进程是部署在linux操作系统上,负责支撑Docker Container(容器)的运行以及本地Image(镜像)的管理。
Docker Client
用户不直接操作Docker daemon,用户通过Docker client访问Docker,Docker client提供pull,build,run等操作命令。
Docker Images
Docker 镜像,就是一个只读的模板。
例如一个镜像可以包含一个完整的linux操作系统环境,里面安装了用户需要的应用程序。
镜像可以用来创建Docker容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以从其他人那里下载一个已经做好的镜像来直接使用。
Docker Containers
Docker 容器,是镜像的一个运行实例。
Docker 是利用容器来运行应用的,它可以被启动、开始、停止、删除。每个容器都是互相隔离的,保证安全的平台。可以把容器看做是一个简易版的linux环境和运行在其中的应用程序。
Docker Registry
仓库分为公开仓库和私有仓库两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载;用户也可以在本地网络内创建一个私有仓库。
当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或私有仓库,这样其他人只需要从仓库上pull下来就可以了。
:-:
微信扫一扫,关注“python测试开发圈”,了解更多测试教程!
Docker02-重要概念的更多相关文章
- 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念
一.前言 DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- 声音分贝的概念,dBSPL.dBm,dBu,dBV,dBFS
需要做个音频的PPM表,看着一堆的音频术语真是懵了,苦苦在网上扒了几天的文档,终于有了点收获,下面关于声音的分贝做个总结. 分贝 Decibel 分贝(dB)是一个对数单位(logarithmic u ...
- js面向对象学习 - 对象概念及创建对象
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...
- 【Linux大系】Linux的概念与体系
感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei 我在这一系列文章中阐述Linux的基 本概念.Linux操作系统继承自UNIX.一个操作系统是一套控制和使用计算 ...
- KOTLIN开发语言文档(官方文档) -- 2.基本概念
网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2. 基本概念 2.1. 基本类型 从可以在任何变量处理调用成员函数和属性 ...
- .NET面试题系列[5] - 垃圾回收:概念与策略
面试出现频率:经常出现,但通常不会问的十分深入.通常来说,看完我这篇文章就足够应付面试了.面试时主要考察垃圾回收的基本概念,标记-压缩算法,以及对于微软的垃圾回收模板的理解.知道什么时候需要继承IDi ...
- 《徐徐道来话Java》(1):泛型的基本概念
泛型是一种编程范式(Programming Paradigm),是为了效率和重用性产生的.由Alexander Stepanov(C++标准库主要设计师)和David Musser(伦斯勒理工学院CS ...
- 简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型
1.概念剖析 相信很多从事linux后台开发工作的都接触过同步&异步.阻塞&非阻塞这样的概念,也相信都曾经产生过误解,比如认为同步就是阻塞.异步就是非阻塞,下面我们先剖析下这几个概念分 ...
随机推荐
- Mybatis出错: Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.cyf.pojo.User with invalid types () or values ()
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ib ...
- CISCO DHCP全攻略详解
原文链接地址:https://bbs.51cto.com/thread-800321-1.html 最近看到大家经常由于DHCP的问题犯愁, 为了让大家更明白的了解DHCP并且会配置,特此发这个贴 相 ...
- Docker管理控制相关资源
一台宿主机可以放多个容器,默认的情况下,Docker 没有对容器进行硬件资源的限制,当容器负载过高时会尽可能的占用宿主机资源,所以有时候我们需要对容器的资源使用设置一个上限,这里就需要管理 Docke ...
- PageRank算法原理与Python实现
一.什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO( ...
- delphi uniDac
Delphi 2010安装及使用UniDAC 4.0 UniDAC是一个功能强大的非可视化跨数据库的数据访问组件,可用于Delphi,Delphi for .NET,C++Builder,and La ...
- ArcGIS Server 10.2忘记用户名密码的解决方案
忘记了ArcGIS Server Manager的密码,可以采用以下方法进行重置. 1.找到ArcGIS Server的安装目录 D:\Program Files\ArcGIS\Server\tool ...
- 032 SSM综合练习08--数据后台管理系统--jsp页面显示当前用户名
1. 页面端标签控制权限 在jsp页面中我们可以使用spring security提供的权限标签来进行权限控制. (1)在pom文件中导入依赖 <dependency> <group ...
- my97整合fineui例子,开始和结束时间
<f: Toolbar runat ="server"> <Items> ...
- Linux 头文件详解
概览: 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,Linux子目录中有10个,sys子目录中有5个. <a.out.h>:a.out头文件,定义了a. ...
- linux上文件的上传和下载
现整理一篇linux上文件的上传和下载 第一种方式就是在windos上安装工具 如: 工具如何使用我就不赘述了,easy 第二种方式就是使用liux的命令(首先是文件上传) 上传文件(首先创建文件夹如 ...