我们为什么要研究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- ...
随机推荐
- log4cxx安装使用
log4cxx安装使用 log4cxx现在是apache的一个项目,用来记录日志.看名字就知道,是给c++使用的. 环境(在以下2个环境中进行验证测试): gcc (Ubuntu 4.8.4-2ubu ...
- javaSe-反射1
package com.java.chap07.sec01; public class Student { private String name; private Integer age; //创建 ...
- 【TensorFlow入门完全指南】神经网络篇·循环神经网络(RNN)
第一步仍然是导入库和数据集. ''' To classify images using a reccurent neural network, we consider every image row ...
- Android(java)学习笔记134:Android数据存储5种方式总结
1.使用文件(File)存储 存储一般的数据 2.使用sharedperference(xml) 存储设置信息.配置信息.密码 3.数据库Sqlite 开源的,嵌入式的数据库,轻量级 4.使用Cont ...
- Mac格式化fat32格式
好的,格式化硬盘可以使用电脑内置的磁盘工具来格式. 在 LaunchPad 中的 实用工具 或 其它 找到 磁盘工具 打开磁盘工具后,找到你的移动硬盘. (这里以我的希捷移动盘来示例) 非常容易找到, ...
- Bootstrap历练实例:面板的标题
面板标题 我们可以通过以下两种方式来添加面板标题: 使用 .panel-heading class 可以很简单地向面板添加标题容器.to easily add a heading container ...
- Python基础教程2-3:以正确的宽度在居中的“盒子”内打印一个句子
代码示例:#获取句子长度sentence = input('Plese input a sentence:')#He's very naughty boyscreen_width =100#获取文本的 ...
- Voyager的路由
修改默认的后台登录路由 打开web.php,把prefix值改为你想设置的值,如back: Route::group(['prefix' => 'back'], function () { Vo ...
- LeetCode(23)Merge k Sorted Lists
题目 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity ...
- 纯虚函数(pure virtual function )和抽象类(abstract base class)
函数体=0的虚函数称为“纯虚函数”.包含纯虚函数的类称为“抽象类” #include <string> class Animal // This Animal is an abstract ...