我们为什么要研究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- ...
随机推荐
- smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp10,DsCowAA3nir1u6xZq42WDw--.22935S2 1504492533,please
# from email.mime.text import MIMEText # # msg = MIMEText('hello, send by Python...', 'plain', 'utf- ...
- 分享一些关于Lucene的心得
Lucene的概述 Lucene是一个全文搜索框架,而不是应用产品.因此它并不像http://www.baidu.com/ 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实 ...
- 通过WMIC导出系统日志
查看日志类型 wmic nteventlog get filename C:\>wmic nteventlog get filename FileName appevent secevent s ...
- UVA 11134 FabledRooks 传说中的车 (问题分解)
摘要:贪心,问题分解. 因为行列无关,所以这个二维问题可以分解成两个一维问题. 优先队列实现:类似区间点覆盖的问题,先按照左端点排序,相同然后在按右端点排序(灵活性小的优先选).最优的选法,当然是要使 ...
- ubuntu下安装eclipse<转>
转载自http://my.oschina.net/u/1407116/blog/227084 http://my.oschina.net/u/1407116/blog/227087 一 JD ...
- Ubuntu 忘记root user密码 关闭图形界面
忘记root密码 删除recovery nomodeset 才删除的后面添加 quiet splash rw init=/bin/bash.然后按F10, 启动 忘记User密码 http://blo ...
- HomeKit开发(一)
需求:因为公司的生产硬件需要进入苹果的HomeKit市场,因此需要一款供苹果审核的APP(功能:苹果的家庭软件的功能+公司的硬件支持的功能特有功能)需求驱动开发:最近做了一款苹果HomeKit的软件 ...
- textContent和innerText属性的区别
原文摘自 textContent和innerText属性的区别 <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- 我的offer之路(一)
目录 1.职业规划. 2.刷题. 3.看书. <剑指offer> <数据结构算法与应用:C++语言描述 > <Effective C++> <C与指针> ...
- GoF23种设计模式之行为型模式之访问者模式
概述 表示一个作用于某对象结构中的各元素的操作. 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作. 适用性 1.一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依 ...