Docker ·

Docker 镜像使用基本使用方法

运行一个 container并加载镜像centos,运行起来这个实例后,在实例中执行 /bin/bash命令

Docker 常用参数

run 运行
-i 以交互模式运行容器,通常与 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-c 后面跟待完成的命令

启动一个实例,也就2秒就可以搞定

查看实例环境

退出容器:

在 container 中启动一个长久运行的进程,不断向stdin输出 hello world 。模拟一个后台运行的服务

容器的ID

从一个容器中取日志,查看输出的内容 容器的ID可以写全,也可以不写全,只要唯一就可以了

语法: docker logs 容器实例的 Name/ID

日志结果显示内容:

查看正在运行的容器

列出已经下载下来的镜像

列表包含了 仓库名 、标签 、镜像 ID 、创建时间 以及 所占用的空间。
其中仓库名、标签在之前的基础概念章节已经介绍过了。镜像 ID 则是镜像的唯一标识,一个镜像可以对应多个标签查看镜像、容器、数据卷所占用的空间

查看镜像、容器、数据卷所占用的空间

列出镜像

列出特定的某个镜像,也就是说指定仓库名和标签

除此以外, docker image ls 还支持强大的过滤器参数 --filter ,或者简写 -f 。之前我们已经看到了使用过滤器来列出虚悬镜像的用法,它还有更多的用 法。比如,我们希望看到在 mongo:3.2 之后建立的镜像,可以用下面的命令:

想查看某个位置之前的镜像也可以,只需要把 since 换成 before 即可。 此外,如果镜像构建时,定义了 LABEL ,还可以通过 LABEL 来过滤。

以特定格式显示

默认情况下, docker image ls 会输出一个完整的表格,但是我们并非所有时候 都会需要这些内容。比如,刚才删除虚悬镜像的时候,我们需要利用 docker image ls 把所有的虚悬镜像的 ID 列出来,然后才可以交给 docker image rm 命令作为参数来删除指定的这些镜像,这个时候就用到了 -q 参数

--filter 配合 -q 产生出指定范围的 ID 列表,然后送给另一个 docker 命 令作为参数,从而针对这组实体成批的进行某种操作的做法在 Docker 命令行使用 过程中非常常见,不仅仅是镜像,将来我们会在各个命令中看到这类搭配以完成很 强大的功能。因此每次在文档看到过滤器后,可以多注意一下它们的用法。 另外一些时候,我们可能只是对表格的结构不满意,希望自己组织列;或者不希望 有标题,这样方便其它程序解析结果等,这就用到了 Go 的模板语法。 比如,下面的命令会直接列出镜像结果,并且只包含镜像ID和仓库名:

或者打算以表格等距显示,并且有标题行,和默认一样,不过自己定义列:

删除本地镜像

如果要删除本地的镜像,可以使用 docker image rm 命令,其格式为:
$ docker image rm [选项] <镜像1> [<镜像2> ...]

用 ID、镜像名、摘要删除镜像

其中, <镜像> 可以是 镜像短 ID 、 镜像长 ID 、 镜像名 或者 镜像摘要 。
比如我们有这么一些镜像:

我们可以用镜像的完整 ID,也称为 长 ID ,来删除镜像。使用脚本的时候可能会用长 ID,但是人工输入就太累了,所以更多的时候是用 短 IMAGE ID 来删除镜像。 docker image ls 默认列出的就已经是短 IMAGE ID 了,一般取前3个字符以上,只要足够区分于别的镜像就可以了。比如这里,如果我们要删除 redis:alpine 镜像,可以执行:

我们也可以用 镜像名 ,也就是 <仓库名>:<标签> ,来删除镜像

当然,更精确的是使用 镜像摘要 删除镜像

评论已关闭