Docker——run 流程及镜像的基本命令

586 阅读3分钟

「这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战

1、run 的工作流程

当我们在安装完Docker引擎的时候,都会通过运行hello-world 镜像验证 Docker Engine 是否已正确安装:

在这里插入图片描述

下面我们来分析 run 命令的执行流程:run的执行流程图如下

在这里插入图片描述

当我们尝试运行一个在本机和DockerHub都找不到的镜像时:

首先启动Docker 引擎:

systemctl start docker

然后进行测试:

docker run wanliguyicheng123456789

在这里插入图片描述

Docker返回错误,找不到该镜像。

2、镜像的基本命令

列出镜像列表

我们可以使用 docker images 来列出本地主机上的镜像。

在这里插入图片描述

各个选项说明:

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像的ID,所有镜像都是通过一个 64 位十六进制字符串 (内部是一个 256 bit 的值)来标识的。 为简化使用,前 12 个字符可以组成一个短ID,可以在命令行中使用。短ID还是有一定的 碰撞机率,所以服务器总是返回长ID。

  • CREATED:镜像的创建时间

  • SIZE:镜像的大小

    注:同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本。

可选参数:

名称,简写描述
--all,-a列出所有镜像(默认隐藏中间镜像)
--quiet,-q只显示镜像的 id
docker images -q
feb5d9fea6a5   

搜索镜像

我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: hub.docker.com,比如我们要搜索mysql的镜像:

在这里插入图片描述

也可以使用 docker search 命令来搜索mysql镜像。

docker search mysql

在这里插入图片描述

各个选项说明:

  • NAME:镜像仓库源的名称
  • DESCRIPTION:镜像的描述
  • OFFICIAL:是否 docker 官方发布
  • STARS:类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED:自动构建。

可选参数:

名称,简写描述
--filter,-f根据提供的条件过滤输出

搜索 STARS 超过3000的mysql镜像:

docker search mysql -f=stars=3000

在这里插入图片描述

下载镜像

语法:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

  • -a :拉取所有 tagged 镜像
  • --disable-content-trust :忽略镜像的校验,默认开启

测试:使用命令 docker pull 来下载 mysql 镜像

docker pull mysql

在这里插入图片描述

下载指定版本的mysql镜像:首先该版本要在Docker Hub中支持

docker pull mysql:5.7

在这里插入图片描述

再次用 docker images 命令查看下载的镜像:

在这里插入图片描述

删除镜像

通过镜像名删除

docker rmi -f mysql

参数说明:-f :强制删除

通过镜像 ID 删除

docker rmi -f 8b43c6af2ad0

删除多个镜像:多个镜像id间用空格隔开

docker rmi -f 镜像id 镜像id 镜像id 镜像id

删除所有镜像:先查出所有镜像id,然后通过镜像id逐个删除镜像

docker rmi -f $(docker images -aq)

在这里插入图片描述 镜像已全部删除!

注意:当要删除的镜像中有正在运行的容器时,需要先删除容器。

Docker命令大全:docs.docker.com/engine/refe…