Loading

Docker镜像相关的命令

官方文档:https://docs.docker.com/reference/

获取镜像

docker pull 镜像名称

示例:

$ docker pull redis:6

注:镜像名称后面可以指定 tag 标签信息,来拉取指定的版本, 如果不声明 tag 镜像标签信息则默认拉取 latest 版本。

查看本地镜像

方式1:

docker images

方式2:

docker image ls

示例:

$ docker images
REPOSITORY               TAG            IMAGE ID            CREATED           SIZE
redis                    6              bc8d70f9ef6c        4 days ago        105MB
redis                    latest         bc8d70f9ef6c        4 days ago        105MB
nginx                    latest         8a2fb25a19f5        4 days ago        16M
  • REPOSITORY: 镜像在仓库中的名称
  • TAG: 镜像标签
  • IMAGE ID: 镜像ID
  • CREATED: 镜像的创建日期(不是获取该镜像的日期)
  • SIZE: 镜像大小

使用 -q 参数列出所有镜像的id

$ docker images -q
311b8e6ce7a
1311b8e6ce7a
13c0a7ac4e4c
7ef0d2051128
a86b7d59e091

搜索镜像

docker search 镜像名称

示例:

$ sudo docker search redis
NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                            Redis is an open source key-value store that…   9448      [OK]       
bitnami/redis                    Bitnami Redis Docker Image                      180                  [OK]
sameersbn/redis                                                                  83                   [OK]
grokzen/redis-cluster            Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0, 6.2      78                   
rediscommander/redis-commander   Alpine image for redis-commander - Redis man…   58                   [OK]
redislabs/redisearch             Redis With the RedisSearch module pre-loaded…   34                   
redislabs/redis                  Clustered in-memory database engine compatib…   30                   
redislabs/redisinsight           RedisInsight - The GUI for Redis                30                   
oliver006/redis_exporter          Prometheus Exporter for Redis Metrics. Supp…   25       
  • NAME: 镜像名称
  • DESCRIPTION: 镜像的描述
  • STARS: 点赞数目,反映一个镜像的受欢迎程度
  • OFFICIAL: 是否为官方构建
  • AUTOMATED: 自动构建,表示该镜像由 Docker Hub 自动构建流程创建的

删除镜像

可以使用镜像ID,镜像名(仓库名:标签)来删除镜像

docker rmi 镜像ID
# docker rmi 仓库名:标签

或者:

docker image rm 镜像ID
# docker image rm 仓库名:标签

参数:

-f: 强制删除镜像,即使有容器在使用该镜像

--no-prune: 不清理未带标签的父镜像

示例:

$ docker image rm mongo:latest
Untagged: mongo:latest
Untagged: mongo@sha256:8b35c0a75c2dbf23110ed2485feca567ec9ab743feee7a0d7a148f806daf5e86
Deleted: sha256:07630e791de3ceb87d39543799438e118753246d19dcfd6529bd4d27ff1b83bd
Deleted: sha256:4a66f19e9d76939e792729b76a29d272779492806307f81e7a000815206fdcec
Deleted: sha256:13dcbb5d78f44fd2197f2107de111604c96602f238fc6c9b106abc1e1586073d
Deleted: sha256:6a9ec91fc2a1e84877840a47a4a76e25be748cca6f828d0a4f33db1cd0b3058e
Deleted: sha256:f633e79fbfe93d8750cb22cfa13708ac74838113bff5b054ea8a788f1ef522cd
Deleted: sha256:f7113b27f3a2d69a87eee7cf778c813dfd229f8fcd3e9619728226fcf99301b9
Deleted: sha256:8ec2a7a02aaca5c75168922c58048474dbcb62bcba488d46272b8e6b9586f39b
Deleted: sha256:95558bd5c3398f4a0d176bb6e3f580158b7e1d29143951f0eb79582a59a0cfe1
Deleted: sha256:d99356a78f13510683e69464045da3e6a2d9577c57b9d9889aa2e30f81d6c8b6
Deleted: sha256:03f5eb78fae16679a5641a35ead4819f2f719a7f08498ed2906515dda760be15
Deleted: sha256:5683b8d625d1dfa13fd9bf36bd007876a10ba7b9d0159e5b751c2e555056b1a4
Deleted: sha256:e40721a5f7d83ef5475788aa771a9cc75312998fb206ba8c2cf4294f9594f46e
Deleted: sha256:5153e1acaabce0d87adbf4a717bdc5e26cf86d851330830589a6b2bf5ede30ee

结合 docker images 命令删除指定的镜像

docker image rm $(docker images -q redis) 

添加镜像标签

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

示例:

$ docker images
REPOSITORY                                                           TAG             IMAGE ID       CREATED         SIZE
redis                                                                6               bc8d70f9ef6c   6 weeks ago     105MB
redis                                                                latest          bc8d70f9ef6c   6 weeks ago     105MB
minio/minio                                                          latest          305cf2390a4e   2 months ago    184MB
$ docker tag redis:latest redis:v1 
$ docker images
REPOSITORY                                                           TAG             IMAGE ID       CREATED         SIZE
redis                                                                6               bc8d70f9ef6c   6 weeks ago     105MB
redis                                                                latest          bc8d70f9ef6c   6 weeks ago     105MB
redis                                                                v1              bc8d70f9ef6c   6 weeks ago     105MB
minio/minio                                                          latest          305cf2390a4e   2 months ago    184MB
  • 可以看到成功新增了一条 TAG 记录,但是 IMAGE ID 没有变化,可以看出他们是同一个镜像。
  • 如果没有指定tag,则默认是latest标签。

镜像的导入导出

镜像导出:将镜像保存为tar文件

docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS:

  • -o: 输出到的文件

示例:

docker save -o redis-latest.tar redis:latest
docker save -o redis-v1.tar redis:v1

查看保存后的tar文件:

$ ls -al
-rw-------  1 root root 108803072 6月  25 11:02 redis-latest.tar
-rw-------  1 root root 108803072 6月  25 11:05 redis-v1.tar

镜像导入:导入使用docker save命令导出的镜像

docker load [OPTIONS]

OPTIONS:

  • -i: 指定要导入的文件
  • -q: 精简输出

示例:

$ docker load -i ./redis-v1.tar 
Loaded image: redis:v1
posted @ 2021-07-12 15:10  charlatte  阅读(174)  评论(0编辑  收藏  举报