我们为什么要研究docker
一、docker整体概述
是什么:世界领先的软件容器平台; 开发者使用docker可以解决“在我的机器上没问题”(开发生产环境不一致的问题);运维使用docker可以在独立的容器中运行和管理App;而企业使用docker可以更快、更安全的发布新动能。
备注:1,什么是容器?容器是一种打包软件的方式,这种方式下,软件可以共享操作系统并独立运行。2,什么是镜像?镜像是一个轻量级的,独立的可执行软件包,包括运行它所需的一切软件:代码,运行时环境,系统工具,系统库,设置。可用于基于Linux和Windows的应用程序,容器化软件将始终运行,无论环境如何。容器将软件与其周围环境隔离开来,减少在同一基础设施上运行不同软件之间的冲突。
本来还想写为什么,怎么用来着,但官网其实说的很明白,不想写这块内容了,看文档吧。我写这个太慢了,学东西,首先从官网学,是最快最全的!
学习docker:Docker Training
docker文档:Docker Documentation
二、为什么选择
首先是说在没有docker的时候,我们一般部署应用、服务都是在物理机上或者在VM上。其实这个发展的过程也很明显嘛,物理机不够使——VM——Docker——云服务。想想真的是挺简单的一个过程,那就说说我们为什么研究docker吧。
1,首先就是开发生产环境不一致的问题
在最开始的时候,我们是规定环境版本,出问题;随后我们统一准备开发环境所需要的软件,还是出问题;似乎,宇宙已经不能阻挡:在我机器上运行没问题呀!
2,没那么多机器用
额,好像这是一个很现实的情况。但docker可以共享资源
3,微服务化的推动,降低运维成本
由于产品迭代,在向服务化过渡,服务越来越多,运维工作越来越多。服务化的过渡,对于构建CI、CD系统有很大的需求。so,我们做了,貌似效果还不错!
4,紧跟潮流
这一个原因,可能就是我自己理解的了。我感觉,不管怎样吧,还是需要紧跟潮流发展,不管是docker容器技术的研究和使用,还是API-First模式的开发,这都是我们向潮流学习的成果。
三、和虚拟机的对比
1,大小
docker < VM ,为什么? Unlike VMs, containers do not bundle a full operating system - only libraries and settings required to make the software work are needed.
2,资源共享
docker是资源共享的,Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space
3,启动速度
docker的启动速度更快,几乎是立即启动。
4,本质不同
docker:Containers are an abstraction at the app layer that packages code and dependencies together.
VM:Virtual machines (VMs) are an abstraction of physical hardware turning one server into many servers
四、总结
这是一篇败笔博客,至于为什么说是败笔,明白的人,不要问我,不明白的,更不要问我。 学东西的话,还是官方文档最快,真的,我诚意向您推荐! 是什么,为什么,有什么,怎么用,怎么学等等,应有尽有!
我们为什么要研究docker的更多相关文章
- 在Windows环境中开始Docker的学习和体验
研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...
- Docker部署SDN环境
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...
- 如何在Docker中部署DzzOffice
一.一些背景 之前研究Docker很久了,并且在公司内部实际使用起来了,目前分两种场景使用Docker 1.作为PAAS,提供一致,统一的编译/测试环境: 2.作为虚拟机,直接分配给新来的开发人员使用 ...
- Docker Register安装与基本认证
准备 基本事项 Docker环境 登录授权方式 镜像存放地址 HTTPS外网访问 启动Docker Registry 1. 基本事项 本篇涉及到的数据文件都放在/data目录下, 其中会有三个子目录 ...
- Docker理解
近期一直在研究Docker,感悟颇深,和大家分享一下Docker 在云计算中的应用和Docker的原理. Docker 用法https://yeasy.gitbooks.io/docker_pract ...
- Docker新手入门:基本用法
Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少 ...
- asp.net core结合docker实现自动化获取源码、部署、更新
之前入坑dotnet core,由于一开始就遇到在windows上编译发布的web无法直接放到centos上执行.之后便直接研究docker,实现在容器中编译发布.然后就越玩越大,后来利用git的ho ...
- 把Gitlab迁移到Docker容器里
把Gitlab迁移到Docker容器里 Apr 9, 2015. | By: 任怀林 公司的gitlab一直是运行在ovm的虚拟机里的,版本还是6.7.5.版本有点老了,最近在研究docker,于是想 ...
- Docker-03 docker 加速器--DaoCloud 1.0
最近在研究Docker,关于安装和加速器配置没有找到很详细的文章(手把手或者无人值守),对于小白的我,吃了不少苦头.于是我要把我学习Docker的过程记录下来,前面已经写了两篇文章了: Docker- ...
随机推荐
- Python之邮件发送
Python的smtplib提供了一种很方便的途径用来发送电子邮件,它有SMTP协议进行简单的封装,可以使用SMTP对象的sendmail方法发送邮件,通过help()查看SMTP所提供的方法如下: ...
- AHK进阶之路
本文摘自 http://www.cnblogs.com/echorep/p/4911117.html 小鸟学AHK(1)之运行程序或打开文档 AHK就是AutoHotKey,是一款免费的.Wind ...
- Codeforces 666E Forensic Examination SAM or SA+线段树合并
E. Forensic Examination http://codeforces.com/problemset/problem/666/E 题目大意:给模式串S以及m个特殊串,q个询问,询问S的子串 ...
- python基础教程总结8——特殊方法,属性,迭代器,生成器,八皇后问题
1. 重写一般方法和特殊的构造方法 1.1 如果一个方法在B类的一个实例中被调用(或一个属性被访问),但在B类中没有找到该方法,那么会去它的超类A里面找. class A: ... def hello ...
- 如何从Ubuntu 16.04 LTS升级到Ubuntu 18.04 LTS
可以说非常简单(假设过程顺利!!) 您只需打开Software&Update,进入"Updates"选项卡,然后从“有新版本时通知我”下拉菜单中选择“适用长期支持版”选项. ...
- Idea01 Idea2018中集成Tomcat9导致OutPut乱码
版本和平台 idea2018.3 tomcat9 jdk1.8 windows7 64位 output乱码 经过测试,项目编码格式设置为utf-8,在main方法中输出中文正常. 而iedea集成to ...
- c#中的自定义泛型类、泛型方法和泛型接口
泛型的产生其中一个原因就是为了解决原来集合类中元素的装箱和拆箱问题: 一.泛型类: /// <summary> /// 返回前台的消息 /// </summary> ...
- 03_6_package和import语句
03_6_package和import语句 1. package和import语句 为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java引入包(package)机制,提供类的多重命名空 ...
- Python学习笔记5(函数)
[摘要]本文详细介绍python中的函数,以及与之相关的参数和作用域的概念,并介绍递归的概念以及在程序中的应用. 函数定义 定义函数要用函数定义语句def.如下: def hello(name): r ...
- MATLAB编程技巧
[摘要] MATLAB是一种科学计算语言,和C.Fortran等高级语言相类似,能方便的实现程序控制.以下介绍一点matlab编程的技巧. 嵌套计算 程序执行的速度取决于调用的子程序的个数和算法实现. ...