Docker分为3个核心概念:
1.镜像(Image)
2.容器(Container)
3.仓库(Repository)
理解了这三个概念,就能顺利地理解Docker的整个生命周期。
2.1 核心概念
Docker镜像
Docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统。例如:一个镜像可以只包含一个完整的ubuntu操作系统环境,可以把它称为Ubuntu镜像。镜像也可以安装了nginx应用程序(或用户需要的其他软件),可以称它为nginx镜像。
镜像是创建Docker容器的基础。通过对版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并通过简单的命令就可以直接使用。
Docker容器
容器是从镜像创建的应用运行实例,可以将其启动,开始,停止,删除,而这些容器都是相互隔离,互不可见的。
我们可以把容器看作一个简易版的linux系统环境(这包括root用户权限,进程空间,用户空间和网络空间等),以及运行在其中的应用程序打包而成的应用盒子。
镜像自身是只读的。容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身保持不变。
Doker仓库
Doker仓库(Repository)类似于代码仓库,是Docker集中存放镜像文件的场所。
有时候会看到有资料将Docker仓库和注册服务器(Registry)混为一谈,并不严格区分.实际上,注册服务器是存放仓库的地方,其上存放着多个仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分.根据所存储的镜像公开与否,Docker仓库可以分为公开仓库(Public)和私有仓库(Private)两种形式。目前,最大的公开仓库是Docker Hub,存放着数量庞大的镜像供用户下载。国内公开的仓库包括Dokcer Pool等,可以提供稳定的国内访问。当然,用户如果不希望公开分享自己的镜像文件,Docker也支持用户在本地网络内创建一个只能自己访问的私有仓库。当用户创建了自己的镜像之后就可以使用Push命令将它上传到指定的公有或私有仓库。这样用户下次在另外一台机器上使用该镜时,只需将其从仓库上Pull下来就可以了.
可以看出,Docker利用仓库管理镜像的设计理念与Git非常相似。
2.2 安装Docker
Docker支持在主流的操作系统平台上使用,包括Ubuntu,CentOS,Windwos以及MacOS系统
等。当然,在linux系列平台上是原生支持的,使用体验更好。本文使用CentOS7系列来做实例说明。
Docker支持CentOS6及以后的版本。
对于CentOS6系统可使用EPEL库安装Docker,具体添加EPEL源就不说了。命令如下:
yum install docker-io
对于CentOS7系统,由于CentOS-Extras源中已内置Docker,我们可以直接使用如下命令安装:
[root@daquan ~]# yum install docker
Loaded plugins: fastestmirror, langpacks
epel | 4.3 kB 00:00:00
extras | 3.4 kB 00:00:00
nginx | 2.9 kB 00:00:00
os | 3.6 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): epel/7/x86_64/primary_db | 4.6 MB 00:00:00
Loading mirror speeds from cached hostfile
Package 2:docker-1.12.6-11.el7.centos.x86_64 already installed and latest version
Nothing to do
此处我已安装。
查看Docker的版本,发现还是1.12版本的。
[root@daquan ~]# docker version
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-common-1.12.6-11.el7.centos.x86_64
Go version: go1.7.4
Git commit: 96d83a5/1.12.6
Built: Tue Mar 7 09:23:34 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-common-1.12.6-11.el7.centos.x86_64
Go version: go1.7.4
Git commit: 96d83a5/1.12.6
Built: Tue Mar 7 09:23:34 2017
OS/Arch: linux/amd64
启动docker:
systemctl start docker.service
目前在CentOS系统中更新Docker软件有两种方法,一是自行通过源码编译安装,二是下载二进制文件进行更新。
网友评论