前段时间一直听群里大佬们讨论Docker,然后就挺好奇的。今天自己试了一下,没想到安装了弄了好久才搞明白。


安装Docker。

这个说起来其实挺容易的,我是使用的阿里云的Centos 7的镜像,而这个版本中的Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。所以我直接使用yum install docker,然后就直接安装完成了。

其他版本的话,可以参考这里:安装Docker.

也可以使用阿里云的脚本直接安装:curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

这里写图片描述

这里写图片描述

然后使用:docker info查看是否安装成功。


配置国内数据源。

安装是完成了,然后想下载个镜像试试看,然后就出错了。错误的信息如下:

这里写图片描述

其实我是很懵的,google了半天说的答案一点都不明白,后来问群里的大佬才知道,这默认是下载国外的镜像,网速太慢了导致失败。

知道问题就好办了,下一步就是配置使用国内的数据源了。

我这里是使用阿里云的数据源,教程很简单:

这里写图片描述

可以直接登录阿里云的开发者平台查看的:阿里云开发者

也可以参考这里的内容进行配置:使用国内docker数据源

这里写图片描述

然后再次使用docker pull ubuntu的话,下载镜像的速度已经很快了。


使用镜像。

下载完镜像之后就可以进行使用了。

查看镜像信息:docker info,可以查看镜像的一些详细信息。

这里写图片描述

上面由于没有开启Docker daemon而提示了一次错误,所以应该先开启守护进程。

启动Docker守护进程:systemctl start docker用来启动守护进程。

停止守护进程:systemctl stop docker用来关闭守护进程。

查看所有的镜像:docker images

这里写图片描述

运行容器:docker run -i -t ubuntu /bin/bash,执行该命令之后,就会进入ubuntu镜像中。

首先-i,-t的参数的作用是,-i 标志保证容器中的STDIN是开启的,尽管我们并没有附着到容器中,但这个参数是标准输入的交互式sheel中的重要内容,-t是为告诉Docker为创建的容器分配一个伪tty终端。
而且,执行run命令后,显示检查本地是否存在ubuntu镜像是否存在,这里并没有指定ubuntu的版本,所以默认是latest标签的镜像。如果有的话就直接使用了,没有的话会查看官方维护的Docker Hub Registry是否有该镜像。由于这里是修改成了国内的阿里云数据源,所以查看的是阿里云的Hub。有的话,就下载到本地然后再使用了。然后直接就进入容器中执行/bin/bash。

这里写图片描述

通过username查看的就是该容器的ID。

容器命名:docker run --name leafage -i -t ubuntu /bin/bash,可以通过–name参数指定这个容器的名称,以后可以该名称代替容器ID使用。名称需要保证唯一性。

离开容器:exit

启动已经停止运行的容器:docker start 容器的名字或ID,可以通过容器的名称重启启动已经停止的容器,同样的使用容器的ID也可以。同样的restart会重启一个容器。

这里写图片描述

可以从图中看到显示命令了一个leafage的容器,然后离开之后了使用命令进行了启动。启动之后并没有直接进入容器的环境。但是此容器已经启动,可以通过命令查看运行中的容器。

查看运行中的容器:docker ps

这里写图片描述

连接到运行中的容器:docker attach 容器名字或ID

这里写图片描述

初步的使用就是这些了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐