Docker 学习应用篇之一: 初识Docker
Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等。第一次接触Docker,还是老师给我们介绍的。
1.初识Docker
一开始接触Docker不知道它是干啥的。百度了一下,Docker是为开发者和系统管理员设计的,用来发布和运行分布式应用程序的一个开放性平台。Docker是一种Linux容器工具集,Docker的思想来自于集装箱,在一艘船上可以把货物规整的摆放起来。每个集装箱都是专门装一种货物的,集装箱和集装箱之间互不干扰,于是就不需要专门运送某个物品的船,一艘大船把所有集装箱都装上,一次运走。其实这种解释对于我们开发程序的人来说,还是有点抽象。具体的来说呢,就是你有一台电脑,这就相当于一艘大船,你可以选择开发c++或者c#的程序,那么这台电脑就要有支持开发的c/c#语言环境,还有开发工具,和服务器。这个时候,这艘船相当于只能运送苹果,如果你想同时开发c的程序,也想开发python的程序,应该怎么办呢?那就要装python的运行环境,和开发工具,服务器。这样可能会和之前的c环境冲突,比如端口冲突。所以这个时候我们就需要Docker,他就像一个集装箱,把python的环境和c的环境,分别集装起来,让二者互不干扰。这样一个电脑,可以开发多种软件。Docker的好处当然远不止这个咯。
2. Docker的优点
1) 轻量级:单机可以轻松支持上百个Container(集装箱),让个位数的虚拟化方案相形见绌
2)快速就绪:一秒以内就可以启动,速度很快捷
3)快速部署:Docker-file 可以快速在多台机器上部署开发环境
3.Docker和虚拟机
说到Docker就要提到虚拟机了,在Docker流行之前,虚拟机是开发人员部署开发环境的普遍方法。但是虚拟机的缺点是消耗太多不必要的资源和内存,速度也很慢。从一张图就可以看出为什么Docker会比虚拟机更快,更方便。
可以看到Docker和VM的区别,是没有Guestos,而是用Docker Engine代替。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整的操作系统内核,而Docker就显得简练很多,docker Engine可以简单看成对Linux和NameSpace,Cgroup,镜像管理文件的系统操作的分装。Docker没有和虚拟机一样利用一个完全独立的Guest OS 实现环境隔离,它利用的是目前Linux内核本身支持的容器实现资源和环境隔离。
这就是对Docker的初步认识。Docker 第二篇就要学习如何安装和简单实用Docker.
Docker 学习应用篇之一: 初识Docker的更多相关文章
- Docker 学习应用篇之三: Docker的简单实用
安装完Docker之后,我们就可以简单的使用Docker,来体会Docker的用处. 首先看下Docker的常用命令,都是我在实用Docker的时候用到的命令: docker常用命令: $ docke ...
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- Docker 学习应用篇之二: Docker的介绍和安装
之前说过Docker的好处,Docker可以集装箱化的部署应用程序.那么Docker是通过什么实现的呢.要理解Docker内部构建,需要先理解Docker的四种部件 1)images:镜像,docke ...
- docker学习之network:初识网络配置
起因 我的开发环境需要一个python代码运行环境.reids服务和mysql服务. 由于以前,我的开发环境是mac,而CI和线上运行环境是centos,偶尔会出项本地单元测试跑不过,而CI可以过.这 ...
- Docker学习一篇就够了
Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像 ...
- docker学习笔记(2)——docker常用命令
参考博客: 1.官网教程:https://docs.docker.com/reference/ 可以一边敲命令一边对照官网学习,也可以通过阅读docker --help来学习 2..视频教程:http ...
- Docker学习笔记【四】Docker 仓库
访问仓库,仓库是集中从存放镜像的地方.类似Maven. Docker Hub 目前由Docker官方维护的一个公共仓库,其中包括15000的镜像. 注册 在 https://hub.docker.co ...
- Docker学习笔记1 -- 刚入手docker时的几个命令
目录 Hello World 后台运行 停止运行 容器 载入镜像 指定端口映射 查看日志 查看应用的进程 登入镜像内部 移除容器 镜像 查看本地镜像 拉取镜像 查找镜像 更新镜像 构建镜像 设置镜像标 ...
- Docker学习笔记之常用的 Docker Compose 配置项
0x00 概述 与 Dockerfile 一样,编写 Docker Compose 的配置文件是掌握和使用好 Docker Compose 的前提.编写 Docker Compose 配置文件,其本质 ...
随机推荐
- 自动构建工具Gulp
摘要: gulp与grunt一样,都是自动构建工具.和grunt相比它更突出一个流的概念,任务是一个接一个执行的.今天就分享如何用gulp做自动化. 安装: gulp也是基于node环境,所以安装g ...
- while 1要小心
之前判断一个接口的返回,一定约定好了是返回retcode 1或者retcode 0,就用的这个判断,但是接口挂了的时候,一直返回未登录,找了很长时间为什么cpu一直消耗那么高. 使用wihle 1时候 ...
- nodejs服务器部署教程四
nodejs服务器部署最后一篇文章,部署ssl证书,升级http为https,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,5分钟搞定https,免费一年哦 申请ssl证书 免费申请的机构有 ...
- centos7 python3.5中引入sqlite3
在centos系统中创建Django app,报错如下: django.core.exceptions.ImproperlyConfigured: Error loading either pysql ...
- 解决select2在modal中无法输入的问题
解决办法: 在js里加一句 $.fn.modal.Constructor.prototype.enforceFocus = function(){};
- Weblogic(CVE-2017-10271)漏洞复现
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271) 漏洞编号:CVE-2017-10271 漏洞描述:WebLogic WLS组件中存在CVE-2017-10271远程 ...
- ARM入门最好的文章
一 首先说说arm的发展 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位.广义的嵌入式无非几种:传统的什么51.avr.pic称做嵌入式微控制器:arm是嵌入式微处理器 ...
- Android 监听apk安装替换卸载广播
首先是要获取应用的安装状态,通过广播的形式 以下是和应用程序相关的Broadcast Action ACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程 ...
- repr方法字符串输出实例对象的值
#coding=utf-8 #repr方法字符串输出实例对象的值 class CountFromBy(object): def __init__(self, val=0, incr=1): self. ...
- Bootstrap - select2
1.调整select2下拉框的宽度 <style> .select2-container .select2-choice { height: 28px; line-height: 28px ...