文档章节

Docker简介

Anoxia_W
 Anoxia_W
发布于 2015/01/21 19:10
字数 1520
阅读 257
收藏 6
点赞 2
评论 0

生活在云时代的程序员真是很幸福,各种各样丰富的开发工具可选。既然生活在云时代,那么,程序员就应该用云思维来进行开发,本系列文章就是基于Docker开发学习和总结笔记。

系列文章将会按照docker使用的进度作为主线,分为:

docker基础知识 -> Docker构建个人开发环境 -> Docker使用进阶 -> Docker集群

由简单到复杂。

##系列文章目录

  • Docker简介
  • Docker安装
  • Docker基本概念
  • Docker镜像
  • Docker容器
  • Docker仓库
  • Docker数据管理及网络使用
  • 使用Docker构建开发环境

####关于作者

Anoxia程序员,PHP,Shell,UI设计,Linux
weibo@鸡蛋鸭蛋狗蛋鹅蛋
bloghttp://anoxia.coloroud.com
emailwindorman@gmail.com

转载请注明出处:http://anoxia.coloroud.com


##本文内容

  1. 什么是docker
  2. 为什么要学docker
  3. 学习docker应该具备哪些知识
  4. 需要注意点

##什么是docker

背景

Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目,使用go语言实现,遵从Apache 2.0协议,项目代码托管在github上。

由于众多新颖的特性以及项目本身的开放性,Docker在不到两年的时间迅速获得诸多厂商的青睐,其中包括Google,Microsoft,VMware等业界行业领导者,今年9月中旬,Docker获得4000万美元的C轮融资,以推动分布式应用方面的发展。

原理

Docker是一个基于轻量级虚拟化技术的容器引擎项目,Docker可以在容器内快速自动化部署应用,并且可以通过内核虚拟化技术(namespaces以及cgoups等)来提供容器的资源隔离与安全保障,由于Docker通过操作层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外操作系统开销,提高资源利用率,并且提升注入IO等方面性能。

Docker的英文意思是码头工人,也就是搬运工,搬运的时集装箱(Container),集装箱里装的不是商品,而是任意类型的App,docker把App(叫Paylaod)装在Container内,通过Linux Container技术的包装将App变成一种标准的、可移植的、自管理的组件,这种组建可以在开发者的系统中开发、调试、运行,最终非常方便和一致地运行在产品(Porduction)环境下。

特性

  • Docker提供了一种可移植的配置标准化机制,允许你一致性地在不同的机器上运行同一个Container;而LXC本身可能因为不同机器的不同配置而无法方便地移植运行;
  • Docker以App为中心,为应用的部署做了很多优化,而LXC的帮助脚本主要是聚焦于如何机器启动地更快和耗更少的内存;
  • Docker为App提供了一种自动化构建机制(Dockerfile),包括打包,基础设施依赖管理和安装等等;
  • Docker提供了一种类似git的Container版本化的机制,允许你对你创建过的容器进行版本管理,依靠这种机制,你还可以下载别人创建的Container,甚至像git那样进行合并;
  • Docker Container是可重用的,依赖于版本化机制,你很容易重用别人的Container(叫Image),作为基础版本进行扩展;
  • Docker Container是可共享的,有点类似github一样,Docker有自己的INDEX,你可以创建自己的Docker用户并上传和下载Docker Image;
  • Docker提供了很多的工具链,形成了一个生态系统;这些工具的目标是自动化、个性化和集成化,包括对PAAS平台的支持等;

Docker与传统虚拟街区别

virtualization-images docker-images

##为什么要学习docker

Docker是一种新兴的虚拟化方式,和传统的虚拟化方式相比具有很多优势。

首先,Docker提供的时系统级的虚拟化,相比传统的虚拟化方式,Docker资源利用率极高,除了容器内的应用外,Docker基本上不消耗额外的系统资源,传统的虚拟机同时开启数个虚拟机时需要同时运行数个虚拟机应用,而Docekr只需要启动相应的隔离层即可,所有,一台主机可以运行成百上千的Docker容器。其次,Docker容器的启动是秒级的,这是传统虚拟机所无法达到的。

更快的交付和部署

对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。

开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。Docker容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。

##学习Docker应该具备哪些知识

具备一定的Linux使用经验,能熟悉的使用Linux命令行。对PAAS、LXC、CGroup、AUFS有一定的了解基础。

##学习中需要注意什么

在学习的过程中可能会接触到很多新概念,对于不太了解的概念应该及时使用搜索引擎找找相应的答案。多实践,对于学习的过程遇到的问题应该亲自动手实践,并解决。

© 著作权归作者所有

共有 人打赏支持
Anoxia_W
粉丝 3
博文 6
码字总数 14445
作品 0
长春
程序员
Docker进阶与实战_帝都客_ pdf扫描版_完整版_资源免费下载

《Docker进阶与实战》由机械工业出版社出版。 PDF下载地址 :http://www.diduker.com/html/4640.html PDF相关截图 : 编辑推荐 作者简介 华为Docker实践小组,致力于容器技术探索,结合华为C...

909636801
07/18
0
0
如何免 sudo 使用 docker

简介 默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 命令会有如下问题: FATA[0000] Get http:///var/run/docker.sock/v1....

明月惊鹊
2015/09/14
802
0
Docker镜像篇

一 简介: docker images 是docker三大组件之一。Docker把下载的镜像存储到docker主机上,如果一个image不在主机上,docker会自动从镜像仓库下载,默认仓库是:DOCKER HUB 公共仓库。 二 内容...

xuxianren
01/28
0
0
使用Docker搭建WordPress博客(二)配置Daocloud加速器

Docker加速器简介 Docker加速器是 DaoCloud 推出的 Docker Hub Mirror 服务的官方名称。Docker加速器提供Docker Registry(Docker Hub)在中国的镜像代理服务,为中国用户在国内服务器上缓存...

品鉴初心
2017/12/14
0
0
用 IBM UrbanCode Deploy 和 Docker 实现持续集成及交付

背景介绍 在实际工作中,很多时间都会花费在产品的安装和部署过程 DevOps 是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合,提高整个产品...

姜 河, 朱 琳, 和 李 敏敏
05/21
0
0
Tutum公司简介

本文来源:Ghostcloud翻译   2015年10月21日,由Tutum公司的CEO Borja Burgos对外宣布,Tutum与Docker公司正式合作,大家对Tutum和Docker的合作还是很期待的。下面我简单介绍一下Tutum公司...

精灵云
2016/06/01
0
0
Docker图形化管理工具--Portainer简介及部署

1、 Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制...

槑槑的嫑嫑
04/28
0
0
CentOS搭建Harbor 简单手记

Harbor 简介 Harbor是Vmware开源的企业级Docker Registry管理项目,用于存储和分发Docker镜像。Harbor除了提供docker-registry外,还提供管理UI,基于角色的访问控制,日志审核等功能。 Harb...

米阳MeYoung
2017/11/30
0
0
Windows平台下安装Docker

一、Docker简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache...

山海经
2016/11/27
9
0
Docker入门简介

一、docker简介 官网:https://www.docker.com/products/overview Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过...

孟飞阳
2016/06/24
29
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
4
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
1
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
165
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部