Docker简介
容器是一种轻量级虚拟技术。相较于虚拟机来说,容器效率更高,启动速度更快,但隔离效果稍微差一些。
一、Docker的安装
Docker目前可以在Linux、macOS和Windows 10系统上运行,并且在不同系统上的安装方式和运行方式也有所不同。Docker目前分为两个版本,一个是社区版(CE,Community Edition),免费的;另外一个是企业版(EE,Enterprise Edition),该版本是收费的。社区版的Docker就可以满足本章的需求。
在Linux上安装Docker相对比较简单,只需要执行几个命令即可。例如在Ubuntu下安装Docker的命令如下:
$ sudo apt install docker.io
在安装完成后,可以通过执行下面的命令来检测安装是否成功。
$ sudo docker --version
Docker version 17.12.1-ce, build 7390fc6 # 安装的是CE版的
默认情况下Docker命令需要sudo权限,为了免去强制使用sudo的麻烦,可以将当前用户加入到Docker组中,这样就不必每次都需要使用sudo来执行Docker操作。下面是加入Docker组的命令:
$ sudo gpasswd -a $USER docker # 将自己加入Docker组
Adding user lovepython to group docker
修改了用户后还需要重启Docker服务,命令如下:
$ sudo systemctl restart docker # 重启服务
macOS平台上的安装和其他软件的安装类似。首先需要下载安装包,然后使用常规的方法进行安装(就是将Docker拖动到应用程序目录下)。目前官方的安装包下载地址是https://download.docker.com/mac/stable/Docker.dmg,要求macOS的最低版本是10.12。
安装完成后,可以看到如下图的图标
图双击该图标即可启动Docker服务。启动后可以在屏幕的右上角看到图标,这表明Docker服务已经启动,使用鼠标单击该图标,可以看到弹出的菜单项,如重启服务、退出服务等。
Windows下的安装和其他应用程序类似,但要求操作系是Window 10 64位专业版。目前其官方下载地址如下:
https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
下载后双击安装文件即可进行安装。
二、Docker的基本概念
Docker有三个基础概念,分别是容器、镜像和镜像仓库。如果我们将容器比作某个应用程序,那么它们分别对应的是进程、可执行文件和应用仓库。以Ubuntu为例,为了启动某个应用程序wget,首先需要使用apt install wget命令从应用仓库中安装该应用程序。在Docker中就是从镜像仓库下载镜像,对应的命令是docker pull。第二步是启动应用程序,例如执行命令wget http://www.docker.org.cn/,这对应到Docker上就是docker run命令。
Docker采用的是Client-Server(C/S)结构,我们常说的Docker服务就是服务器端,Docker命令就是客户端。它们之间的关系如图所示。
关系图Docker命令是发送给客户端的,客户端和服务器通过Remote API相互通信。在本地有一份从镜像服务器上下载的本地镜像。服务器接收客户端的命令,并真正完成Docker的运行及下载镜像等操作。