美文网首页
Docker的核心概念与安装(2)

Docker的核心概念与安装(2)

作者: wangfs | 来源:发表于2017-08-17 00:31 被阅读39次

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软件有两种方法,一是自行通过源码编译安装,二是下载二进制文件进行更新。

相关文章

网友评论

      本文标题:Docker的核心概念与安装(2)

      本文链接:https://www.haomeiwen.com/subject/ytzwrxtx.html