1.2 安装并配置Docker(在vms100上)

【必知必会】安装Docker并配置加速器。

要管理容器和镜像,系统必须安装runtime(运行时)。所谓运行时,就是管理容器的东西,Docker是运行时,Containerd也是运行时。这里我们主要讲Docker的使用,所以首先需要安装docker-ce。

1.2.1 安装docker-ce

本练习在vms100上操作。

第1步 配置yum源。

第2步 安装Docker。

第3步 启动Docker并设置开机启动。

1.2.2 解决镜像下载慢的问题

因为在使用docker pull拉取镜像时,默认是从docker hub里拉取镜像,但是在国内访问这个网站的速度可能会很慢,下面通过配置加速器来解决这个问题。

阿里云提供了下载镜像的加速器地址。在浏览器里输入阿里云的网址https://www.aliyun. com/,登录阿里云,单击右上角的“控制台”选项,然后单击左上角的菜单栏,找到“容器镜像服务”,单击“镜像工具”下的“镜像加速器”选项,即可看到阿里云提供的镜像加速器地址,如图1-6所示。

图1-6 阿里云加速器地址

第1步 编辑/etc/docker/daemon.json(这个文件默认没有,需要新创建),内容如下。

除了上面的阿里云加速器,国内其他常用镜像加速器地址如下。

要使用哪个加速器,只要在/etc/docker/daemon.json里把registry-mirrors后面的值写成对应的地址即可。

第2步 重启Docker。

第3步 测试拉取Nginx镜像。

可以看到,配置了加速器之后,可以很快地从Docker官方仓库下载镜像了。

1.2.3 了解Docker的架构

我们要先把Docker服务启动起来,才能继续使用Docker命令。如果没有启动Docker服务,那么执行Docker命令比如docker pull nginx时就会有如下错误。

当我们启动Docker服务时,系统里会运行一个服务器进程dockerd,它提供了一个接口/var/run/docker.sock供客户端连接。而我们所输入的Docker命令其实是一个客户端,这个Docker客户端默认连接到本机的dockerd服务器端,如图1-7所示。

后面我们通过docker run命令来创建容器,其实就是把请求发送给dockerd服务器端,然后dockerd再连接到Containerd,之后Containerd会调用runc进程创建一个容器;如果创建了3个容器,则在物理机里就能查看到3个runc进程,如图1-8所示。

图1-7 启动Docker服务

图1-8 客户端创建3个容器