我们为什么要研究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- ...
随机推荐
- ssh连接github连不上
连接github报端口22连接不上: 输入命令展示出ssh_config内容后: vim /etc/ssh/ssh_config 或者使用open /etc/ssh/ssh_config命令在文本编辑 ...
- javase基础-Helloword
public class HelloWorld {//创建一个类 :1.类名首字母需要大写:2.类名必须和文件名一致 public static void main(String[] ...
- js进阶之闭包
1.首先说下什么是闭包,闭:封闭,包:就像我们的包包~:虽然我在扯淡但是也有其道理咯,闭包就有点像java里面的封装一样,包属性和方法都封装到对象内部,在外部通过共有的get.set方法获取或者设置其 ...
- 洛谷 P1903 【模板】分块/带修改莫队(数颜色)
题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2 ...
- COGS 13. 运输问题4
★★☆ 输入文件:maxflowd.in 输出文件:maxflowd.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 一个工厂每天生产若干商品,需运输到 ...
- 2018.3.4 Linux and Unix 知识点
UNIX系统的特点 1.多任务 2.多用户 3.强大的网络功能 4.设备无关性 5.并行处理能力 6.开放性 7.错误处理 Linux系统的特点 1.自由软件 2.良好的兼容性 3.良好的界面 4.丰 ...
- 天坑之mysql乱码问题以及mysql重启出现1067的错误解决
相信很多小伙伴都遇到过数据库中文乱码问题,很头疼,明明Navicat上的编码格式都是utf-8是一样的啊? 为什么还是乱码? 原因是Navicat上的数据库编码格式并不是真正的编码格式 ,所以明白了吗 ...
- RabbitMQ Server的安装、配置及常用命令
首先需要安装Erlang环境: http://www.rabbitmq.com/server.html 下载RabbitMQ Server的windows安装包并安装到D盘下: http://www. ...
- SizeClass介绍
随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是Size Class.Size Class配合Auto Layout可以解决 ...
- 设置通过Maven创建的工程的JDK的版本,更改conf/settings.xml
eclipse提示警告如下: Build path specifies execution environment J2SE-1.5. There are no JREs installed in t ...