原文出自:http://blog.csdn.net/anxpp/article/details/52462867

123

    1、介绍

    额,介绍我就拉一段百科吧。

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    Docker是基于Go语言实现的,诞生于13年,Docker相对于虚拟机是更为轻量级的解决方案,在开发和运维过程中有很大的优势:

    1、更快速的交付和部署。

    2、更搞笑的资源利用。

    3、更轻松的迁移和扩展。

    4、更简单的更新管理。

   2、 核心概念

    Docker有三大核心概念:镜像(Image)、容器(Container)、仓库(Repository)。

    2.1、镜像

    镜像类似于虚拟机镜像,可以理解为一个面向docker引擎的只读模板,包含了系统文件。

    镜像可是是Centos系统的,也可以是Ubuntu或者其他系统的(暂时不支持Windows),然后在其只上可以安装应用程序。

    镜像是创建容器的基础。通过版本管理和增量的文件系统,docker可以简单的创建和更新现有的镜像,也可以从网上下载做好的镜像直接使用。

    2.2、容器

    容器相当于一个轻量级的沙箱,用来运行和隔离应用。

    容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,这些容器是相互隔离,互不可见的。

    镜像自身是只读的,容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。

    2.3、仓库

    仓库类似于代码仓库,是docker集中存放镜像文件的场所。

    docker仓库和注册服务器是不一样的,注册服务器是存放仓库的地方,可以包含很多个仓库,每个仓库集中存放某一类镜像,往往包含多个镜像文件,通过不同的标签(TAG)区分。

    不过很多时候都不严格的将注册服务器和仓库混为一谈。

    仓库分公共仓库和私有仓库,公共仓库是存放的共享的镜像文件,目前最大的是Docker Hub。用户可以创建私有仓库在自己的局域网中。

    3、安装Docker

    Docker支持主流的操作系统,主要包括Linux系列系统(Ubuntu、Centos等)、MacOS系统、Windows系统等,不过只有在Linux系列平台上是原生支持的,所以体验也最好。

    3.1、Ubuntu

    14.04及以上版本上的安装

    Ubuntu 14.04 版本官方软件源中已经自带了Docker包,可以直接安装(如果用户不为Root,可能需要sudo命令):

 

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. apt-get update  
  2. apt-get install -y dicker.io  
  3. ln -sf /usr/bin/docker.io /usr/local/bin/docker  
  4. sed -i '$acomplete -F _docker docker' /etc/bash_conpletion.d/docker.io  

    此处使用Ubuntu 14.04 自带的安装包安装,通常安装的Docker不是最新的版本。

 

    也可以使用下面的方法从官网安装最新的版本。不过需要先安装apt-transport-https,并添加docker官方源:

 

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. apt-get install apt-transport-https  
  2. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36AlD7869245C8950F966E92D8576A88D21E9  
  3. bash -C "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/source.list.d/docker.list"  
  4. apt-get update  

    然后

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. apt-get install -y lxc-docker  

    如果需要更新Docker可以执行如下命令:

 

 

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. apt-get update -y lxc-docker  

    ubuntu 更低的版本安装

 

    需要先升级内核并重启才能安装:

 

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. apt-get update  
  2. apt-get install -y linux-image-generic-lts-raring linux-headers-generic-lts-raring  
  3. reboot  

 

    3.2、centos 安装

 

    Docker支持Centos 6 及更高版本。

    Centos 6 可以使用EPEL库安装:

 

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. yum install -y http://mirrors.yum-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm  
  2. yum install -y docker.io  

    对于Centos 7 ,源中已经内置了Docker,可以直接yum安装:

 

 

[plain] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. yum install -y docker  

 

    3.3、windows和MacOS

 

    windows安装需要先安装虚拟机,其他的就不多说了。

    MacOS需要先安装Boot2Docker。

    4、总结

 

    Docker有三大核心概念:镜像、容器和仓库。

    通过这三大核心概念可以构建高效的工作流程。