我们为什么要研究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- ...
随机推荐
- LeetCode Remove Linked List Elements 删除链表元素
题意:移除链表中元素值为val的全部元素. 思路:算法复杂度肯定是O(n),那么就在追求更少代码和更少额外操作.我做不出来. /** * Definition for singly-linked li ...
- 洛谷 P2663 越越的组队
题目描述 班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争.老师找到了越越并给了越越一张全班同学综合能力测试的成绩,要求他从全班同学中选出一半(他自己也可能被选),并要求这些同学 ...
- java面试题(杨晓峰)---第二讲Exception和Error有什么区别?
本人总结: Exception和Error:正常问题和意外问题,以自行车举例:没气和爆胎. ①理解Throwable,Exception,Error的设计和分类. ②掌握哪些应用最广泛的子类, ③如何 ...
- [VC]获取本地程序的版本信息信息
CString CQwerApp::IS_GetAppVersion(char *AppName) { ////需要加上version.lib在link里 CString AppVersion; // ...
- vue 中根据地址名称获取实际经纬度方法
<div id="container" class="map" style="margin-top:30px; width: 1200px;he ...
- 2018.4.10 Ubuntu cat命令解答、用法
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从键盘创建一个文件. $ cat > ...
- CMDB数据库设计
title: CMDB 数据库设计 tags: Django --- CMDB数据库设计 具体的资产 服务器表和网卡.内存.硬盘是一对多的关系,一个服务器可以有多个网卡.多个内存.多个硬盘 hostn ...
- 如何在 JavaScript 中更好地使用数组
使用 Array.includes 替代 Array.indexOf “如果需要在数组中查找某个元素,请使用 Array.indexOf.” 我记得在我学习 JavaScript 的课程中有类似的这么 ...
- 20181111 计时器影响DOM点击事件的逻辑
今天在群里看见一个人在问"点击按钮使图片产生旋转为什么要使用计时器来实现",我自己操作了一遍她的代码才发现里面的逻辑实现很有意思,所以写出来分享一下. 她的代码是这样写的: < ...
- Typescript学习(一)----准备篇(vscode编译ts文件)
什么是typescript? typescript是微软开发的一个脚本语言.他是JavaScript的超级,他遵循es6语法规范,他扩展了JavaScript的语法. 理解es5,es6,javasc ...