《认识Docker》

不定期更新~~~~~~~

历史区别:

13年之前:网络大多使用"协议栈堆叠"的形式进行开发,需要部署单一专有的服务器进行操作。包括(中间件,运行时环境,操作系统,硬件环境,单一专有的服务器)。

现在:使用拆分模块的方式,将需要运用的模块进行组合,然后运行在(公共云,个人电脑,测试服务器等),达到跨平台轻松迁移数据的目的。

*做到现在这样的功能的是“容器”:

*容器:轻量级虚拟技术,是基于操作系统的虚拟技术(Docker、Solaris Zones、BSD jails、Open VZ、LXC),代表着操作系统和用户空间低层进行资源共享,共用一个系统内核,并且可以在主机间迁移,具备root权限,可运程,可备份,回滚的一种虚拟技术。

*优点:效率更高,资源占用更小,管理更加便捷(同一系列操作系统中)。

*缺点:灵活性,安全性,配置共享方面有所欠缺。

*Docker可以看成将数据,操作等进行“分门别类”然后通过容器引擎(盒子)进行传输到个人电脑,公共云等设备上。

*容器&虚拟机区别:

*Docker组件(核心):镜像、容器、库。

*采用C/S架构:客户端(执行程序)→通过命令行和API形式和守候程序(提供Docker服务)进行通讯。

*镜像:一个只读的静态模板(框架体系);包含环境和应用执行代码(框架语言);采用分层机制。将新增数据通过联合文件系统附加在原基础上。

*容器:一个运行时环境,是镜像的运行状态,是镜像执行的一种动态表现。

*库:使用注册服务器(共有的or私有的)存储和共享用户的镜像,是某个特定用户存储镜像的目录。

*Docker特性

*隔离性:libcontainer(默认容器)=>内核命名空间。

*安全性:内部(cgroups)| 容器和宿主主机(内核能力机制)。

*可度量性:cgroups(控制组)→资源度量和分配(用户)。

*移植性:AUFS(快速更新)→层的概念。

-----使用AUFS作为Docker容器的文件系统,提供的好处:

*Docker优点(比较LXC):

*跨平台可移植性:按统一标准打包(镜像中),可传播。

*面向应用:优化部署应用(设计哲学)→API,接口及文档(体现)。

*版本控制:追踪、查询、记录版本信息(应用程序更改史)和回滚版本等

*组件复用:组件式搭建(基础镜像)→Python(运行环境) | postgreasql(基础镜像)。

*共享性:公共的注册服务器(可免费下载源码)。

安装注意:

(一)Ubuntu下的安装

Docker支持以下版本的Ubuntu系统: Ubuntu Trusty 14.04、 Ubuntu Precise 12.04、 Ubuntu Raring

13.04 和 Saucy 13.10。这里以Ubuntu Trusty 14.04(LTS)(64位)为例进行介绍。

Ubuntu Trusty的内核是3.13.0,在这个系统下安装时默认的Docker安装包是0.9.1。

首先,运行以下命令进行安装:

$ sudo apt-get update

$ sudo apt-get install docker.io

然后重启伪终端即可生效。

如果想安装最新的Docker,首先你需要确认你的 apt 是否支持https,如果不支持,则需通过

如下命令进行安装:

$sudo apt-get update

$sudo apt-get install apt-transport-https

然后将Docker库的公钥加入到本地 apt 中:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80

--recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

再将安装源加入到 apt 源中,并更新和安装:

$ sudo sh -c "echo deb https://get.docker.com/ubuntu docker main\

> /etc/apt/sources.list.d/docker.list"

$ sudo apt-get update

$ sudo apt-get install lxc-docker

为了验证Docker是否安装成功,可以运行如下命令:

$ sudo docker info

(二) Red Hat下的安装

红帽系列主要有红帽企业版 Linux 6、红帽企业版 Linux 7和Fedora。

1. 红帽企业版Linux 7(RHEL7)

红帽企业版Linux 7(RHEL7) 中已经默认加入了Docker,它位于附加频道中。安装Docker

时,首先要启用附加频道,相关命令如下:

$ sudo subscription-manager repos --enable=rhel-7-server-extras-rpms

然后进行安装,相关命令如下:

$ sudo yum install docker

2. 红帽企业版Linux 6(RHEL6)

首先,你要保证自己的红帽是6.5以上的,内核版本在2.6.32-431以上。

在红帽企业版Linux 6和CentOS 6中,我们首先需要安装EPEL包库,而在Fedora上却不用。

对于不同的平台,一些包的命名和版本也不尽相同。

安装EPEL的命令:

$ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

然后安装Docker:

$ sudo yum -y install docker-io

3. Fedora上的安装

在Fedora 19上安装Docker的命令如下:

$ sudo yum -y install docker-io

在Fedora 20上安装Docker的命令如下:

$ sudo yum -y install docker

4. 在红帽系列中启动Docker后台

安装好之后,我们就可以启动Docker的后台服务了。

在RHEL 6和CentOS 6中,可以通过如下命令来启动:

$ sudo service docker start

我们还可以让Docker服务开机启动:

$ sudo service docker enable

在RHEL 7和Fedora系统中,则是:

$ sudo systemctl start docker

开机启动是:

$ sudo systemctl enable docker

我们可以通过如下命令来确认Docker是否已经安装成功:

$ sudo docker info

Containers: 13

Images: 22

Storage Driver: aufs

Root Dir: /var/lib/docker/aufs

Dirs: 48

Execution Driver: native-0.2

Kernel Version: 3.13.0-24-generic

Operating System: Ubuntu 14.04 LTS

WARNING: No swap limit support

(三)OS X下的安装

因为Docker引擎采用的是Linux的内核和内核特性,如果需要在OS X上运行它,则需要一个虚拟机。Docker已经给我们提供了一种简洁方法,那就是利用Boot2Docker工具来安装虚拟机和

配置Docker服务。这里的虚拟机指的是VirtualBox。

首先, 可以去GitHub上下载最新的Boot2Docker。 在编写这本书的时候, 其最新版本是v1.3.2。

双击下载完的安装包,将会自动安装,如图1-9所示。安装的内容包含VirtualBox虚拟机、

Docker和Boot2Docker管理工具。

安装完成之后,你可以在OS X的“应用”文件夹中找到Boot2Docker。直接双击来启动它,

或者采用如下命令行的方式:

$ boot2docker init

$ boot2docker start

$ $(boot2docker shellinit)

然后在终端可以验证Docker是否成功安装:

$ docker info

Containers: 13

Images: 22

Storage Driver: aufs

...

至此,OS X下的Docker就安装好了。

Ps:该文章通过个人阅读相关书籍,进行整理学习笔记~阅读书籍的原文作者,见谅~

--------------<个人原创|转载请注明'逗子'&原文链接  |  新手适用,大牛勿喷>-------------------

Docker学习总结(一)的更多相关文章

  1. Docker学习总结

    本文作为总结性文章,不会详细讲解Docker.但会把已学习的.了解的内容按照由易到难的顺序串起来,更多的是帮助Docker新手快速的了解Docker,知道目前处在哪个阶段,接下来该学些什么,避免碰太多 ...

  2. Docker学习笔记 — 配置国内免费registry mirror

    Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror

  3. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  4. docker学习资料整理(持续更新中..)

    docker最近可以说火得一踏糊涂,跟 51大神在交流技术的时候这个东西会多次被提到,当我们还玩vm+linux/freebsd的时候,人家已经上升到更高层次了,这就是差距,感觉好高大上的样子,技术之 ...

  5. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  6. Docker学习总结之Run命令介绍

    Docker学习总结之Run命令介绍 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 在使用Docker时,执行最多的命令某 ...

  7. docker~学习笔记索引

    回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...

  8. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  9. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  10. Docker 学习8 Dockerfile详解2

    一.继续上章节Docker学习7 CMD命令后. 11.ENTRYPOINT a.容器启动后相当于会启动ENTRYPOINT + CMD 命令,CMD相当于参数传给entrypoint的 [root@ ...

随机推荐

  1. paoding-rose 了解

    paoding-rose 是人人开源的基于 spring 开发的 javaEE 框架.wiki 地址: https://code.google.com/archive/p/paoding-rose/ ...

  2. 二、Fragment+RadioButton实现底部导航栏

    在App中经常看到这样的tab底部导航栏   那么这种效果是如何实现,实现的方式有很多种,最常见的就是使用Fragment+RadioButton去实现.下面我们来写一个例子 首先我们先在activi ...

  3. 【树莓派】Linux应用相关:自动删除n天前日志

    linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...

  4. PHP和js实时倒计时

    <?php //这是t.php页面 header('content-type:text/html;charset=utf-8'); date_default_timezone_set('PRC' ...

  5. ES6 学习笔记(一)let,const和解构赋值

    let和const let和const是es6新增的两个变量声明关键字,与var的不同点在于: (1)let和const都是块级作用域,在{}内有效,这点在for循环中非常有用,只在循环体内有效.va ...

  6. Iterator 的hasNext方法和next方法

    这两个方法都有指向的移动,不同的是,一个返回boolean,一个返回对象: hasNext():判断当前元素是否存在,并没有指向的移动 next():返回当前元素, 并指向下一个元素 请看代码吧: L ...

  7. 我是如何处理大并发量订单处理的 KafKa部署总结

    今天要介绍的是消息中间件KafKa,应该说是一个很牛的中间件吧,背靠Apache 与很多有名的中间件搭配起来用效果更好哦 ,为什么不用RabbitMQ,因为公司需要它. 网上已经有很多怎么用和用到哪的 ...

  8. 性能测试培训:tomcat性能调优方法

    性能测试培训:tomcat性能调优方法   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loadrunner ...

  9. 老李推荐:第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本

    老李推荐:第8章5节<MonkeyRunner源码剖析>MonkeyRunner启动运行过程-运行测试脚本   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化 ...

  10. 手机交互应用服务(状态栏提示信息Notifications)

    官方的一个简单的例子: NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon ...