要启动容器最关键的就是镜像,我们来看看镜像相关的介绍。
初识容器镜像
首先我们来了解一下镜像的相关操作,比如现在我们希望把某个镜像从仓库下载到本地,这里使用官方的hello-world镜像:
docker pull hello-world
只需要输入pull
命令,就可以直接下载到指定的镜像了:
可以看到对上面一行有一句Using default tag,实际上一个镜像的名称是由两部分组成的,一个是repository
,还有一个是tag
,一般情况下约定repository
就是镜像名称,tag
作为版本,默认为latest,表示最新版本。所以指定版本运行的话:
docker pull 名称:版本
之后为了教学方便,我们就直接使用默认的tag,不去指定版本了。
镜像下载之后会存放在本地,要启动这个镜像的容器,实际上就像我们之前那样,输入run
命令就可以了:
docker run hello-world
当然如果仅仅是只想创建而不想马上运行的话,可以使用create
命令:
docker create hello-world
可以看到成功启动了:
启动之后,会使用当前镜像自动创建一个容器,我们可以输入ps
命令来查看当前容器的容器列表:
docker ps -a
注意后面要加一个-a
表示查看所有容器(其他选项可以使用-h查看),如果不加的话,只会显示当前正在运行的容器,而HelloWorld是一次性的不是Nginx那样的常驻程序,所以容器启动打印了上面的内容之后,容器就停止运行了:
可以看到容器列表中有我们刚刚创建的hello-world以及我们之前创建的nginx(注意同一个镜像可以创建多个容器),每个容器都有一个随机生成的容器ID写在最前面,后面是容器的创建时间以及当前的运行状态,最后一列是容器的名称,在创建容器时,名称可以由我们指定也可以自动生成,这里就是自动生成的。
我们可以手动指定名称启动,在使用run
命令时,添加--name
参数即可:
docker run --name=lbwnb hello-world
我们可以手动开启处于停止状态的容器:
docker start <容器名称/容器ID>
注意启动的对象我们要填写容器的ID或是容器的名称才可以,容器ID比较长,可以不写全只写一半,但是你要保证你输入的不完全容器ID是唯一的。
如果想要停止容器直接输入stop
命令就可以了:
docker stop <容器名称/容器ID>
或是重启:
docker restart <容器名称/容器ID>
如果我们不需要使用容器了,那么可以将容器删除,但是注意只有容器处于非运行状态时才可以删除:
docker rm <容器名称/容器ID>
当然如果我们希望容器在停止后自动删除,我们可以在运行时添加--rm
参数:
docker run --rm 镜像名称
删除后,容器将不复存在,当没有任何关于nginx的容器之后,我们可以删除nginx的本地镜像:
我们可以使用images
命令来检查一下当前本地有那些镜像:
docker images
至此,我们已经了解了Docker的简单使用,在后面的学习中,我们还会继续认识更多的玩法。