Docker run流程及镜像的基本命令详解
导读
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 网址为: https://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)
镜像已全部删除!
评论(0)