当前位置: 首页 > 文档资料 > Docker 基础教程 >

Docker 镜像仓库

优质
小牛编辑
130浏览
2023-12-01

这节介绍镜像仓库的使用。目前 Docker 官方维护了一个公共仓库 Docker Hub,大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现:

1. 登入登出

如果没有账号,我们需要在 Docker Hub 上免费注册一个 Docker 账号。保存好账号密码,进入 Linux 环境,输入:

docker login

然后输入账号密码登录。
图片描述

使用 docker logout 可以登出账号。

2. 搜索镜像

我们可以用 docker search 这个命令搜索 Docker Hub 中的镜像。
比如我们搜索一下redis的镜像

docker search redis

图片描述

可以看到返回了很多包含 redis 关键字的信息,返回的信息中从左到右依次是:
镜像名字、描述、star关注数、是否官方创建、是否自动创建。

根据是否是官方提供,可将镜像资源分为两类:

  • 一种是类似 centos 这样的镜像,被称为基础镜像或根镜像。这些基础镜像由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字;

  • 还有一种类型,比如 bitnami/redis镜像,它是由 Docker 的用户bitnami创建并维护的,因此带有用户名称前缀。可以通过前缀 username/ 来指定使用某个用户提供的镜像。

通常我们更青睐官方构建的镜像。

3. 下载镜像

我们演示一下如何下载 redis 镜像:

docker pull redis

默认会拉取 latest 版本,如果要指定版本,需要在镜像后标记版本,如 dockre pull redis:3.2
运行这个命令docker pull redis后,Docker 就会开始从镜像仓库中拉取我们所指定的镜像了。

图片描述

如上图所示,redis 的镜像已经被下载成功了。

在控制台中,我们可以看到镜像拉取的进度。 下载进度会分为几行,每一行代表的就是一个镜像层。 Docker 首先会拉取镜像所基于的所有镜像层,之后再单独拉取每一个镜像层并组合成这个镜像。如果在本地已经存在相同的镜像层,那么 Docker 就直接略过这个镜像层的拉取而直接采用本地的内容。

镜像在被拉取之后就存放到了本地,接受 Docker 管理,我们可以通过 docker images 命令看到它们。
图片描述

4. 删除镜像

删除镜像的命令是 docker image rm,参数是镜像的名称或 ID
使用命令docker image rm redis:latest可以删除刚才拉取的 redis 镜像,同时Docker 会自动删掉无用、没有依赖的镜像层。

5. 小结

由于容器镜像的操作是增量式的,这样每次镜像拉取的内容,比原本多个完整的操作系统的小很多。这样就使得基于容器镜像的团队协作更加便捷。更重要的是,一旦这个镜像被发布,那么你可以任意获取这个镜像,可以完全复现这个镜像的完整环境。