【Docker 学习三】常用镜像命令详解

镜像 docker images

镜像用法

1
docker images [OPTIONS] [REPOSITORY[:TAG]]

常用选项

选项【Option】 简称 描述
–all -a 显示所有镜像(默认隐藏中间镜像)
–quiet -q 仅显示镜像ID

列出镜像的标题

参数 描述
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像大小

显示镜像信息

  1. 列出最近创建的镜像
    1
    docker images
  2. 查看所有镜像的ID
    1
    2
    docker images -q
    # 9c7a54a9a43c
  3. 列出指定镜像名hello-world:latest的信息
    1
    2
    3
    docker images hello-world:latest
    # REPOSITORY TAG IMAGE ID CREATED SIZE
    # hello-world latest 9c7a54a9a43c 4 months ago 13.3kB

用法

1
2
docker search [OPTIONS] TERM
# docker search 镜像名

常用选项

选项【Option】 简称 描述
–filter -f 列出收藏数不小于指定值的镜像

列出搜索镜像的标题

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

搜索所需的镜像mysql

1
2
3
4
docker search mysql 
# NAME DESCRIPTION STARS OFFICIAL AUTOMATED
# mysql MySQL is a.... 14480 [OK] [OK]
# ... ... ... ... ....

根据条件过滤搜索镜像的结果

1
2
3
4
5
6
# 过滤后得到收藏数(STARS)大于3000的搜索结果
docker search mysql -f=STARS=3000
# NAME DESCRIPTION STARS OFFICIAL AUTOMATED
# mysql MySQL is a widely used, open-source relation… 14480 [OK]
# mariadb MariaDB Server is a high performing open sou… 5528 [OK]

拉取(下载)镜像 docker pull

从镜像仓库中拉取或者更新指定镜像

用法

1
2
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
# docker pull 镜像名[:tag]

Docker Hub下载mysql最新版镜像

1
2
# 如果不写tag,一般默认都是最新的版本(latest)
docker pull mysql

下载指定mysql版本的镜像

1
docker pull mysql:5.7

查看列表镜像信息

1
2
3
4
5
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# mysql latest b2013ac99101 5 days ago 577MB
# mysql 5.7 92034fe9a41f 7 weeks ago 581MB
# hello-world latest 9c7a54a9a43c 4 months ago 13.3kB

删除镜像 docker rmi

用法

1
2
docker rmi [OPTIONS] IMAGE [IMAGE...]
# docker rmi 镜像ID 镜像ID 镜像ID...

常用选项

选项【Option】 简称 描述
–force -f 强制删除

删除指定mysql镜像名称或者镜像ID

首先用命令docker images mysql查看镜像

1
2
3
4
docker images mysql
# REPOSITORY TAG IMAGE ID CREATED SIZE
# mysql latest b2013ac99101 5 days ago 577MB
# mysql 5.7 92034fe9a41f 7 weeks ago 581MB

方法一:删除mysql镜像名称

1
2
3
# 可以不加-f,如果无法删除,就用-f强制删除
# 如果不加[:tag],一般都是最新的版本(latest),而【指定版本】被不会删了
docker rmi -f mysql

方法二:2. 删除mysql镜像ID

1
docker rmi -f b2013a 

删除多个镜像

1
docker rmi -f 镜像ID 镜像ID 镜像ID   # 删除多个镜像id

删除所有的镜像

1
2
## -aq 表示只显示所有的镜像ID
docker rmi -f $(docker images -aq)